AlinsRan commented on PR #13717:
URL: https://github.com/apache/apisix/pull/13717#issuecomment-5020318327

   Two things from a review pass, one fixed and one that needs stating in the 
description.
   
   **Fixed**: `check_disable()` returns `_meta.disable` verbatim, so the 
downgrade was gated on truthiness. A non-boolean truthy value like the string 
`"false"` would have taken the accept path — silently disabling a plugin the 
user meant to enable, and swallowing the schema error that used to catch it. 
Now gated on `== true`, so the type error still gets a 400.
   
   **Needs stating**: the comment says a disabled plugin "will never be 
executed". That holds for route/service/global_rule, where `_M.filter` skips 
it. It does not hold for consumers — `plugin_consumer()` in 
`apisix/consumer.lua` iterates `val.value.plugins` and picks up anything with 
`type == "auth"` without consulting `check_disable`, so a disabled auth plugin 
still feeds the credential index. That is a pre-existing gap rather than 
something this PR introduces, but this PR widens what can reach it, so I will 
either narrow the downgrade to exclude consumer/credential schema types or fix 
the consumer path separately — whichever maintainers prefer.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to