From 4a0f4266d024dca96b700721f0c3755b43051d7a Mon Sep 17 00:00:00 2001 From: peze <954152927@qq.com> Date: Fri, 10 May 2024 17:08:19 +0800 Subject: [PATCH] fix the ALIBABA_CLOUD_ECS_IMDSV2_ENABLE judge --- src/Providers/EcsRamRoleProvider.php | 5 ++--- tests/Unit/EcsRamRoleProviderTest.php | 12 ++++++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/Providers/EcsRamRoleProvider.php b/src/Providers/EcsRamRoleProvider.php index 28a33b9..1f09482 100644 --- a/src/Providers/EcsRamRoleProvider.php +++ b/src/Providers/EcsRamRoleProvider.php @@ -86,9 +86,8 @@ public function get() protected function getEnableECSIMDSv2() { - $enableIMDSv2 = Helper::envNotEmpty('ALIBABA_CLOUD_ECS_IMDSV2_ENABLE'); - if ($enableIMDSv2) { - return strtolower($enableIMDSv2) === 'false' ? false : (bool)$enableIMDSv2; + if (Helper::envNotEmpty('ALIBABA_CLOUD_ECS_IMDSV2_ENABLE')) { + return Helper::env('ALIBABA_CLOUD_ECS_IMDSV2_ENABLE') === true ? true : false; } if(isset($this->config['enableIMDSv2'])) { return $this->config['enableIMDSv2']; diff --git a/tests/Unit/EcsRamRoleProviderTest.php b/tests/Unit/EcsRamRoleProviderTest.php index 6980980..3b7d7b3 100644 --- a/tests/Unit/EcsRamRoleProviderTest.php +++ b/tests/Unit/EcsRamRoleProviderTest.php @@ -89,6 +89,18 @@ public function testGetEnableECSIMDSv2() self::assertEquals(true, $this->invokeProtectedFunc($sessionCredential, 'getEnableECSIMDSv2')); + putenv('ALIBABA_CLOUD_ECS_IMDSV2_ENABLE=TRUE'); + + self::assertEquals(true, $this->invokeProtectedFunc($sessionCredential, 'getEnableECSIMDSv2')); + + putenv('ALIBABA_CLOUD_ECS_IMDSV2_ENABLE=ok'); + + self::assertEquals(false, $this->invokeProtectedFunc($sessionCredential, 'getEnableECSIMDSv2')); + + putenv('ALIBABA_CLOUD_ECS_IMDSV2_ENABLE=1'); + + self::assertEquals(false, $this->invokeProtectedFunc($sessionCredential, 'getEnableECSIMDSv2')); + putenv('ALIBABA_CLOUD_ECS_IMDSV2_ENABLE=false'); self::assertEquals(false, $this->invokeProtectedFunc($sessionCredential, 'getEnableECSIMDSv2'));