Skip to content

v0.4.16

Choose a tag to compare

@github-actions github-actions released this 24 Oct 08:29
· 16 commits to main since this release
4839f09

修正(セキュリティ)

  • 共有の Gateway で、1 つのテナントの不正な値によって、そのポートのほかのテナントのルートが全部止まっていたのを直しました(#92)。HTTPRoute の正規表現(( など)・ヘッダの値・RproxyMiddleware の形・ListenerSet のホスト名の数などを、rproxy と同じ規則でルートごとに確かめ、通らないルートだけを Accepted: False(UnsupportedValue)にして外します。それでも rproxy が断ったときは、ポートごとではなく原因のルートだけを外します(rproxy の答えの先頭の名前か、dry run で探します)。移行した Ingress・IngressRoute も同じです。
  • コントローラが、クラスタ全体の Secret・ConfigMap を中身ごとメモリに持たないようにしました(#92)。メタデータだけを見張り、Gateway が参照するものだけを読みます。大きな ConfigMap を大量に作られても、コントローラが OOM で落ちなくなります。
  • tokio 1.54.1(RUSTSEC-2026-0386)。

変更

  • 不正な値を持つ HTTPRoute は、そのルートだけが Accepted: False になります(これまではポートのルールごと外れていました)。
  • RproxyMiddleware は、知らない項目や形の誤りがあると、そのルートが Accepted: False になります。

rproxy: rproxy-api v0.4.16 · UI: TCP-UDP-rproxy-ui v0.4.9


Fixed (security)

  • On a shared Gateway, one tenant's bad value no longer takes down every other tenant's routes on that port (#92). HTTPRoute regular expressions (such as (), header values, RproxyMiddleware shapes, the number of ListenerSet host names and so on are checked per route with rproxy's own rules; only a failing route is left out with Accepted: False (UnsupportedValue). If rproxy still refuses, only the offending route is left out instead of the whole port (found from the name at the start of rproxy's answer, or with dry runs). Migrated Ingress and IngressRoute resources are handled the same way.
  • The controller no longer keeps every Secret and ConfigMap in the cluster in memory (#92). It watches metadata only and reads just what Gateways refer to, so many large ConfigMaps can no longer make it run out of memory.
  • tokio 1.54.1 (RUSTSEC-2026-0386).

Changed

  • An HTTPRoute with a bad value is now Accepted: False on its own (before, the whole port's rule was dropped).
  • A RproxyMiddleware with unknown fields or a wrong shape makes its route Accepted: False.

rproxy: rproxy-api v0.4.16 · UI: TCP-UDP-rproxy-ui v0.4.9