-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(cli): fix allow_admin allows non-127.0.0.0/24
to access admin api with empty admin_key
#9146
Conversation
127.0.0.0/24
to access admin api with empty admin_key
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we need to update doc for this?
apisix/cli/ops.lua
Outdated
end | ||
end | ||
if yaml_conf.apisix.enable_admin and allow_admin | ||
and table.getn(allow_admin) == 1 and allow_admin[1] == "127.0.0.0/24" then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
table.getn is deprecated, use #
instead
t/cli/test_admin.sh
Outdated
@@ -154,6 +154,45 @@ fi | |||
|
|||
echo "pass: missing admin key and show ERROR message" | |||
|
|||
# missing admin key, only allow 127.0.0.0/24 to access admin api | |||
|
|||
git checkout conf/config.yaml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't need to checkout the config and then override it
t/cli/test_admin.sh
Outdated
make init > output.log 2>&1 | true | ||
|
||
grep -E "ERROR: missing valid Admin API token." output.log > /dev/null | ||
if [ ! $? -ne 0 ]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The condition here is incorrect?
t/cli/test_admin.sh
Outdated
make init > output.log 2>&1 | true | ||
|
||
grep -E "ERROR: missing valid Admin API token." output.log > /dev/null | ||
if [ $? -eq 0 ]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The condition here is still incorrect, please think again what is going to check in this test.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have checked with @spacewander, the condition is correct, but the shell syntax is incorrect
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@monkeyDluffy6017
Yes, you are right. Sorry for the wrong suggestion.
* upstream/master: (25 commits) fix: upgrade lua-resty-ldap to 0.2.2 (apache#9254) feat(cli): support bypassing Admin API Auth by configuration (apache#9147) fix(ci): write version into xds first (apache#9274) fix: skip warning log when apisix.data_encryption.enable is false (apache#9057) docs: add-api7-information (apache#9260) docs: Fixed typo (apache#9244) docs: clarify what is client.ca in client-to-apisix-mtls.md (apache#9221) docs: Corrected typos and grammatical errors (apache#9216) docs: updated ssl sni parameter requirement in admin-api.md (apache#9176) fix: check upstream reference in traffic-split plugin when delete upstream (apache#9044) docs: Update proxy-rewrite headers.add docs (apache#9220) feat: suppot header injection for fault-injection plugin (apache#9039) fix: upgrade lua-resty-etcd to 1.10.4 (apache#9235) docs: fix incorrect semantic.yml link (apache#9231) feat: Upstream status report (apache#9151) fix: host_hdr should not be false (apache#9150) docs: remove APISIX base instruction (apache#9117) fix(cli): prevent non-`127.0.0.0/24` to access admin api with empty admin_key (apache#9146) docs: fix 404 link (apache#9160) fix(cors): consider using `allow_origins_by_regex` only when it is not `nil` (apache#9028) ...
Description
Fixes #9055
Checklist