TianoCore EDK2 master
Loading...
Searching...
No Matches
RedfishPlatformCredentialLib.c File Reference

Go to the source code of this file.

Functions

EFI_STATUS EFIAPI LibStopRedfishService (IN EDKII_REDFISH_CREDENTIAL_PROTOCOL *This, IN EDKII_REDFISH_CREDENTIAL_STOP_SERVICE_TYPE ServiceStopType)
 
EFI_STATUS GetRedfishCredential (OUT EDKII_REDFISH_AUTH_METHOD *AuthMethod, OUT CHAR8 **UserId, OUT CHAR8 **Password)
 
EFI_STATUS EFIAPI LibCredentialGetAuthInfo (IN EDKII_REDFISH_CREDENTIAL_PROTOCOL *This, OUT EDKII_REDFISH_AUTH_METHOD *AuthMethod, OUT CHAR8 **UserId, OUT CHAR8 **Password)
 
VOID EFIAPI LibCredentialExitBootServicesNotify (IN EDKII_REDFISH_CREDENTIAL_PROTOCOL *This)
 
VOID EFIAPI LibCredentialEndOfDxeNotify (IN EDKII_REDFISH_CREDENTIAL_PROTOCOL *This)
 

Variables

BOOLEAN mSecureBootDisabled = FALSE
 
BOOLEAN mStopRedfishService = FALSE
 

Detailed Description

EmulaotPkg RedfishPlatformCredentialLib instance

(C) Copyright 2020 Hewlett Packard Enterprise Development LP

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file RedfishPlatformCredentialLib.c.

Function Documentation

◆ GetRedfishCredential()

EFI_STATUS GetRedfishCredential ( OUT EDKII_REDFISH_AUTH_METHOD AuthMethod,
OUT CHAR8 **  UserId,
OUT CHAR8 **  Password 
)

Return the credential for accessing to Redfish servcice.

Parameters
[out]AuthMethodThe authentication method.
[out]UserIdUser ID.
[out]PasswordUSer password.
Return values
EFI_SUCCESSGet the authentication information successfully.
EFI_OUT_OF_RESOURCESThere are not enough memory resources.

Definition at line 43 of file RedfishPlatformCredentialLib.c.

◆ LibCredentialEndOfDxeNotify()

VOID EFIAPI LibCredentialEndOfDxeNotify ( IN EDKII_REDFISH_CREDENTIAL_PROTOCOL This)

Notification of End of DXE.

Parameters
[in]ThisPointer to EDKII_REDFISH_CREDENTIAL_PROTOCOL.

Definition at line 235 of file RedfishPlatformCredentialLib.c.

◆ LibCredentialExitBootServicesNotify()

VOID EFIAPI LibCredentialExitBootServicesNotify ( IN EDKII_REDFISH_CREDENTIAL_PROTOCOL This)

Notification of Exit Boot Service.

Parameters
[in]ThisPointer to EDKII_REDFISH_CREDENTIAL_PROTOCOL.

Definition at line 222 of file RedfishPlatformCredentialLib.c.

◆ LibCredentialGetAuthInfo()

EFI_STATUS EFIAPI LibCredentialGetAuthInfo ( IN EDKII_REDFISH_CREDENTIAL_PROTOCOL This,
OUT EDKII_REDFISH_AUTH_METHOD AuthMethod,
OUT CHAR8 **  UserId,
OUT CHAR8 **  Password 
)

Retrieve platform's Redfish authentication information.

This functions returns the Redfish authentication method together with the user Id and password.

  • For AuthMethodNone, the UserId and Password could be used for HTTP header authentication as defined by RFC7235.
  • For AuthMethodRedfishSession, the UserId and Password could be used for Redfish session login as defined by Redfish API specification (DSP0266).

Callers are responsible for and freeing the returned string storage.

Parameters
[in]ThisPointer to EDKII_REDFISH_CREDENTIAL_PROTOCOL instance.
[out]AuthMethodType of Redfish authentication method.
[out]UserIdThe pointer to store the returned UserId string.
[out]PasswordThe pointer to store the returned Password string.
Return values
EFI_SUCCESSGet the authentication information successfully.
EFI_ACCESS_DENIEDSecureBoot is disabled after EndOfDxe.
EFI_INVALID_PARAMETERThis or AuthMethod or UserId or Password is NULL.
EFI_OUT_OF_RESOURCESThere are not enough memory resources.
EFI_UNSUPPORTEDUnsupported authentication method is found.

Definition at line 110 of file RedfishPlatformCredentialLib.c.

◆ LibStopRedfishService()

EFI_STATUS EFIAPI LibStopRedfishService ( IN EDKII_REDFISH_CREDENTIAL_PROTOCOL This,
IN EDKII_REDFISH_CREDENTIAL_STOP_SERVICE_TYPE  ServiceStopType 
)

Notify the Redfish service to stop provide configuration service to this platform.

This function should be called when the platfrom is about to leave the safe environment. It will notify the Redfish service provider to abort all logined session, and prohibit further login with original auth info. GetAuthInfo() will return EFI_UNSUPPORTED once this function is returned.

Parameters
[in]ThisPointer to EDKII_REDFISH_CREDENTIAL_PROTOCOL instance.
[in]ServiceStopTypeReason of stopping Redfish service.
Return values
EFI_SUCCESSService has been stoped successfully.
EFI_INVALID_PARAMETERThis is NULL or given the worng ServiceStopType.
EFI_UNSUPPORTEDNot support to stop Redfish service.
OthersSome error happened.

Definition at line 163 of file RedfishPlatformCredentialLib.c.

Variable Documentation

◆ mSecureBootDisabled

BOOLEAN mSecureBootDisabled = FALSE

Definition at line 21 of file RedfishPlatformCredentialLib.c.

◆ mStopRedfishService

BOOLEAN mStopRedfishService = FALSE

Definition at line 22 of file RedfishPlatformCredentialLib.c.