Should auth_cntr provide a return value?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Should auth_cntr provide a return value?

ソリューションへジャンプ
1,775件の閲覧回数
HH_Mov
Contributor III

Using an i.mx93 in OEM_Open mode, I was validating the detection of invalidly signed containers.

The code in u-boot for "\include\configs\imx93_evk.h" implies that the auth_cntr returns a value which could be used in an "if statement" in the environment.

"auth_os=auth_cntr ${cntr_addr}\0" \
"mmcboot=echo Booting from mmc ...; " \
		"run mmcargs; " \
		"if test ${sec_boot} = yes; then " \
			"if run auth_os; then " \
				"run boot_os; " \
			"else " \
				"echo ERR: failed to authenticate; " \
			"fi; " \
		....

The check "if run auth_os; then" gives the impression that the success of the container validation is available as a return value. 

However testing shows that the result is always "0", for both a valid and invalid signed container. The ahab_status command does report errors after validating the invalid signed container.

Is this expected behavior for an OEM_Open device ? Or is the imx93_evk.h file implying something that is not there ?

ラベル(2)
タグ(2)
0 件の賞賛
返信
1 解決策
1,471件の閲覧回数
HH_Mov
Contributor III

It seems the result value only reports something about the execution of the auth_cntr command and not if the container itself is authentic.


For OEM_Open scenarios this might result in the "run boot_os" to be executed even when the container is not authentic.

For OEM_Closed scenarios, the call to auth_cntr will result in an immediate reboot, so the if statement will never be completed.

元の投稿で解決策を見る

0 件の賞賛
返信
4 返答(返信)
1,472件の閲覧回数
HH_Mov
Contributor III

It seems the result value only reports something about the execution of the auth_cntr command and not if the container itself is authentic.


For OEM_Open scenarios this might result in the "run boot_os" to be executed even when the container is not authentic.

For OEM_Closed scenarios, the call to auth_cntr will result in an immediate reboot, so the if statement will never be completed.

0 件の賞賛
返信
1,732件の閲覧回数
Harvey021
NXP TechSupport
NXP TechSupport

The auth_os verifies the container which is built with kernel and DTB. The ahab_status just reports what was verified.

Which version of BSP are you testing and what AHAB events?

 

Best regards

Harvey

0 件の賞賛
返信
1,727件の閲覧回数
HH_Mov
Contributor III

I am running a yocto scarthgap based image on an i.MX93 based board, running a rather old 2022.04 u-boot (at the moment).

The idea was to have a number of ahab containers:
  - 1st container: ELE, DDR FW, SPL
  - 2nd container: ATF, OP-TEE, U-Boot
  - 3rd container: Kernel
  - 4th container: dtb
  - ....nth

All containers are verified via the chain of trust, starting with ROM verifying the 1st, SPL the 2nd, u-boot the 3rd, 4th and possibly additional containers.

To verify the 3rd and 4th container in u-boot, I use the auth_cntr command and it provides info via ahab_status on the result. However the idea was to add this to a bootcmd, allowing each container to be validated and stopping or moving to a recovery mode on failure.

So the question I have is, how can I use the auth_cntr in an automated/scripted implementation? Or is adding these steps/verifications in the code itself and calling a custom command to handle these checks more suitable/normal practice?

0 件の賞賛
返信
1,658件の閲覧回数
Harvey021
NXP TechSupport
NXP TechSupport

Hope that the section <10.9 Security reference design> of the guide may help for you. 

 

Regards

Harvey

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2138272%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Eauth_cntr%20%E3%81%AF%E6%88%BB%E3%82%8A%E5%80%A4%E3%82%92%E6%8F%90%E4%BE%9B%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2138272%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EOEM_Open%20%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%20i.mx93%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81%E7%84%A1%E5%8A%B9%E3%81%AB%E7%BD%B2%E5%90%8D%E3%81%95%E3%82%8C%E3%81%9F%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%83%BC%E3%81%AE%E6%A4%9C%E5%87%BA%E3%82%92%E6%A4%9C%E8%A8%BC%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3Eu-boot%E3%81%AE%E3%80%8C%5Cinclude%5Cconfigs%5Cimx93_evk.h%E3%80%8D%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89auth_cntr%20%E3%81%8C%E7%92%B0%E5%A2%83%E5%86%85%E3%81%AE%E3%80%8Cif%20%E3%82%B9%E3%83%86%E3%83%BC%E3%83%88%E3%83%A1%E3%83%B3%E3%83%88%E3%80%8D%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%82%8B%E5%80%A4%E3%82%92%E8%BF%94%E3%81%99%E3%81%93%E3%81%A8%E3%82%92%E6%84%8F%E5%91%B3%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3E%22auth_os%3Dauth_cntr%20%24%7Bcntr_addr%7D%5C0%22%20%5C%0A%22mmcboot%3Decho%20Booting%20from%20mmc%20...%3B%20%22%20%5C%0A%09%09%22run%20mmcargs%3B%20%22%20%5C%0A%09%09%22if%20test%20%24%7Bsec_boot%7D%20%3D%20yes%3B%20then%20%22%20%5C%0A%09%09%09%22if%20run%20auth_os%3B%20then%20%22%20%5C%0A%09%09%09%09%22run%20boot_os%3B%20%22%20%5C%0A%09%09%09%22else%20%22%20%5C%0A%09%09%09%09%22echo%20ERR%3A%20failed%20to%20authenticate%3B%20%22%20%5C%0A%09%09%09%22fi%3B%20%22%20%5C%0A%09%09....%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%E3%80%8Cif%20run%20auth_os%3B%20then%E3%80%8D%E3%81%A8%E3%81%84%E3%81%86%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%81%AF%E3%80%81%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E6%A4%9C%E8%A8%BC%E3%81%AE%E6%88%90%E5%8A%9F%E3%81%8C%E6%88%BB%E3%82%8A%E5%80%A4%E3%81%A8%E3%81%97%E3%81%A6%E5%88%A9%E7%94%A8%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%A8%E3%81%84%E3%81%86%E5%8D%B0%E8%B1%A1%E3%82%92%E4%B8%8E%E3%81%88%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%81%9F%E3%81%A0%E3%81%97%E3%80%81%E3%83%86%E3%82%B9%E3%83%88%E3%81%A7%E3%81%AF%E3%80%81%E6%9C%89%E5%8A%B9%E3%81%AA%E7%BD%B2%E5%90%8D%E4%BB%98%E3%81%8D%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%83%BC%E3%81%A8%E7%84%A1%E5%8A%B9%E3%81%AA%E7%BD%B2%E5%90%8D%E4%BB%98%E3%81%8D%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%83%BC%E3%81%AE%E4%B8%A1%E6%96%B9%E3%81%A7%E3%80%81%E7%B5%90%E6%9E%9C%E3%81%AF%E5%B8%B8%E3%81%AB%E3%80%8C0%E3%80%8D%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82ahab_status%20%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AF%E3%80%81%E7%84%A1%E5%8A%B9%E3%81%AA%E7%BD%B2%E5%90%8D%E6%B8%88%E3%81%BF%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%82%92%E6%A4%9C%E8%A8%BC%E3%81%97%E3%81%9F%E5%BE%8C%E3%80%81%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%92%E5%A0%B1%E5%91%8A%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%93%E3%82%8C%E3%81%AF%20OEM_Open%20%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%81%A7%E3%81%AF%E4%BA%88%E6%83%B3%E3%81%95%E3%82%8C%E3%82%8B%E5%8B%95%E4%BD%9C%E3%81%A7%E3%81%99%E3%81%8B%3F%E3%81%82%E3%82%8B%E3%81%84%E3%81%AFimx93_evk.h%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AF%E5%AD%98%E5%9C%A8%E3%81%97%E3%81%AA%E3%81%84%E4%BD%95%E3%81%8B%E3%82%92%E6%9A%97%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2138272%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3ESecurity%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EYocto%20Project%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2161187%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Should%20auth_cntr%20provide%20a%20return%20value%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2161187%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E7%B5%90%E6%9E%9C%E5%80%A4%E3%81%AF%E3%80%81auth_cntr%20%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AE%E5%AE%9F%E8%A1%8C%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E6%83%85%E5%A0%B1%E3%81%AE%E3%81%BF%E3%82%92%E5%A0%B1%E5%91%8A%E3%81%97%E3%80%81%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%83%BC%E8%87%AA%E4%BD%93%E3%81%8C%E6%9C%AC%E7%89%A9%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%81%AF%E5%A0%B1%E5%91%8A%3CSTRONG%3E%E3%81%97%E3%81%AA%E3%81%84%3C%2FSTRONG%3E%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3CBR%20%2F%3EOEM_Open%20%E3%82%B7%E3%83%8A%E3%83%AA%E3%82%AA%E3%81%A7%E3%81%AF%E3%80%81%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%83%BC%E3%81%8C%E6%9C%AC%E7%89%A9%E3%81%A7%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%81%A7%E3%82%82%E3%80%8Crun%20boot_os%E3%80%8D%E3%81%8C%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8C%E3%82%8B%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3EOEM_Closed%20%E3%82%B7%E3%83%8A%E3%83%AA%E3%82%AA%E3%81%AE%E5%A0%B4%E5%90%88%E3%80%81auth_cntr%20%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E3%81%A8%E3%81%99%E3%81%90%E3%81%AB%E5%86%8D%E8%B5%B7%E5%8B%95%E3%81%95%E3%82%8C%E3%82%8BSO%E3%80%81if%20%E3%82%B9%E3%83%86%E3%83%BC%E3%83%88%E3%83%A1%E3%83%B3%E3%83%88%E3%81%AF%E5%AE%8C%E4%BA%86%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2142768%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Should%20auth_cntr%20provide%20a%20return%20value%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2142768%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%26lt%3B10.9%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fuser-guide%2FUG10163.pdf%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%E3%82%AC%E3%82%A4%E3%83%89%3C%2FA%3E%E3%81%AE%E3%80%8C%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%20%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9%20%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%80%8D%E3%81%8C%E5%BD%B9%E7%AB%8B%E3%81%A4%E3%81%8B%E3%82%82%E3%81%97%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3EHarvey%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2140631%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Should%20auth_cntr%20provide%20a%20return%20value%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2140631%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E7%A7%81%E3%81%AF%20i.MX93%20%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E3%83%9C%E3%83%BC%E3%83%89%E4%B8%8A%E3%81%A7%20yocto%20scarthgap%20%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%A6%E3%81%8A%E3%82%8A%E3%80%81%E3%81%8B%E3%81%AA%E3%82%8A%E5%8F%A4%E3%81%84%202022.04%20u-boot%20%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%20(%E7%8F%BE%E6%99%82%E7%82%B9%E3%81%A7%E3%81%AF)%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%82%A2%E3%82%A4%E3%83%87%E3%82%A2%E3%81%A8%E3%81%97%E3%81%A6%E3%81%AF%E3%80%81Ahab%20%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%82%92%E3%81%84%E3%81%8F%E3%81%A4%E3%81%8B%E7%94%A8%E6%84%8F%E3%81%99%E3%82%8B%E3%81%A8%E3%81%84%E3%81%86%E3%82%82%E3%81%AE%E3%81%A7%E3%81%97%E3%81%9F%E3%80%82%3CBR%20%2F%3E%20-%201%E7%95%AA%E7%9B%AE%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%3A%20ELE%E3%80%81DDR%20FW%E3%80%81SPL%3CBR%20%2F%3E%20-%202%E7%95%AA%E7%9B%AE%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%3A%20ATF%E3%80%81OP-TEE%E3%80%81U-Boot%3CBR%20%2F%3E%20-%203%E7%95%AA%E7%9B%AE%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%3A%20%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%3CBR%20%2F%3E-%204%E7%95%AA%E7%9B%AE%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%3A%20dtb%3CBR%20%2F%3E%20-%20....n%E7%95%AA%E7%9B%AE%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%81%AF%E4%BF%A1%E9%A0%BC%E3%83%81%E3%82%A7%E3%83%BC%E3%83%B3%E3%82%92%E4%BB%8B%E3%81%97%E3%81%A6%E6%A4%9C%E8%A8%BC%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%821%20%E7%95%AA%E7%9B%AE%E3%81%AF%20ROM%20%E3%81%AE%E6%A4%9C%E8%A8%BC%E3%81%8B%E3%82%89%E5%A7%8B%E3%81%BE%E3%82%8A%E3%80%812%20%E7%95%AA%E7%9B%AE%E3%81%AF%20SPL%E3%80%813%20%E7%95%AA%E7%9B%AE%E3%80%814%20%E7%95%AA%E7%9B%AE%E3%81%AF%20u-boot%20%E3%81%A7%E3%80%81%E3%81%95%E3%82%89%E3%81%AB%E8%BF%BD%E5%8A%A0%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%81%8C%E6%A4%9C%E8%A8%BC%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3Eu-boot%20%E3%81%AE%203%20%E7%95%AA%E7%9B%AE%E3%81%A8%204%20%E7%95%AA%E7%9B%AE%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%80%81auth_cntr%20%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%81%9D%E3%81%AE%E7%B5%90%E6%9E%9C%E3%81%AF%20ahab_status%20%E7%B5%8C%E7%94%B1%E3%81%A7%E6%8F%90%E4%BE%9B%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%E3%81%9F%E3%81%A0%E3%81%97%E3%80%81%E3%81%93%E3%82%8C%E3%82%92%20bootcmd%20%E3%81%AB%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%A6%E3%80%81%E5%90%84%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%82%92%E6%A4%9C%E8%A8%BC%E3%81%97%E3%80%81%E9%9A%9C%E5%AE%B3%E7%99%BA%E7%94%9F%E6%99%82%E3%81%AB%E5%81%9C%E6%AD%A2%E3%81%99%E3%82%8B%E3%81%8B%E5%9B%9E%E5%BE%A9%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AB%E7%A7%BB%E8%A1%8C%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%E3%81%A8%E3%81%84%E3%81%86%E3%82%A2%E3%82%A4%E3%83%87%E3%82%A2%E3%81%A7%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3ESO%E8%B3%AA%E5%95%8F%E3%81%AA%E3%81%AE%E3%81%A7%E3%81%99%E3%81%8C%E3%80%81%E8%87%AA%E5%8B%95%E5%8C%96%2F%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E5%8C%96%E3%81%95%E3%82%8C%E3%81%9F%E5%AE%9F%E8%A3%85%E3%81%A7%20auth_cntr%20%E3%82%92CAN%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%AE%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F%E3%81%BE%E3%81%9F%E3%81%AF%E3%80%81%E3%82%B3%E3%83%BC%E3%83%89%E8%87%AA%E4%BD%93%E3%81%AB%E3%81%93%E3%82%8C%E3%82%89%E3%81%AE%E6%89%8B%E9%A0%86%2F%E6%A4%9C%E8%A8%BC%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97%E3%80%81%E3%81%93%E3%82%8C%E3%82%89%E3%81%AE%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%82%92%E5%87%A6%E7%90%86%E3%81%99%E3%82%8B%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%20%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E6%96%B9%E3%81%8C%E3%80%81%E3%82%88%E3%82%8A%E9%81%A9%E5%88%87%2F%E9%80%9A%E5%B8%B8%E3%81%AE%E6%96%B9%E6%B3%95%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2140493%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Should%20auth_cntr%20provide%20a%20return%20value%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2140493%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%20data-teams%3D%22true%22%3Eauth_os%20%E3%81%AF%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%81%A8DTB%E3%81%A7%E6%A7%8B%E7%AF%89%E3%81%95%E3%82%8C%E3%81%9F%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%82%92%E6%A4%9C%E8%A8%BC%E3%81%97%E3%81%BE%E3%81%99%E3%80%82ahab_status%20%E3%81%AF%E6%A4%9C%E8%A8%BC%E3%81%95%E3%82%8C%E3%81%9F%E5%86%85%E5%AE%B9%E3%82%92%E5%A0%B1%E5%91%8A%E3%81%99%E3%82%8B%E3%81%A0%E3%81%91%E3%81%A7%E3%81%99%E3%80%82%3C%2FSPAN%3E%3CSPAN%20data-teams%3D%22true%22%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20data-teams%3D%22true%22%3E%E3%81%A9%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AE%20BSP%20%E3%82%92%E3%83%86%E3%82%B9%E3%83%88%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8B%3F%20%E3%81%BE%E3%81%9F%E3%80%81%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%20AHAB%20%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E6%83%85%E5%A0%B1%E3%82%92%E3%83%86%E3%82%B9%E3%83%88%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%3CSPAN%20data-teams%3D%22true%22%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20data-teams%3D%22true%22%3EHarvey%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E