VirtualBox

Ignore:
Timestamp:
Apr 14, 2023 3:17:44 PM (22 months ago)
Author:
vboxsync
Message:

Devices/EFI/FirmwareNew: Update to edk2-stable202302 and make it build, bugref:4643

Location:
trunk/src/VBox/Devices/EFI/FirmwareNew
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/FirmwareNew

  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsDxe/TlsImpl.c

    r80721 r99404  
    2828EFI_STATUS
    2929TlsEncryptPacket (
    30   IN     TLS_INSTANCE                  *TlsInstance,
    31   IN OUT EFI_TLS_FRAGMENT_DATA         **FragmentTable,
    32   IN     UINT32                        *FragmentCount
     30  IN     TLS_INSTANCE           *TlsInstance,
     31  IN OUT EFI_TLS_FRAGMENT_DATA  **FragmentTable,
     32  IN     UINT32                 *FragmentCount
    3333  )
    3434{
    35   EFI_STATUS          Status;
    36   UINTN               Index;
    37   UINT32              BytesCopied;
    38   UINT32              BufferInSize;
    39   UINT8               *BufferIn;
    40   UINT8               *BufferInPtr;
    41   TLS_RECORD_HEADER   *RecordHeaderIn;
    42   UINT16              ThisPlainMessageSize;
    43   TLS_RECORD_HEADER   *TempRecordHeader;
    44   UINT16              ThisMessageSize;
    45   UINT32              BufferOutSize;
    46   UINT8               *BufferOut;
    47   UINT32              RecordCount;
    48   INTN                Ret;
     35  EFI_STATUS         Status;
     36  UINTN              Index;
     37  UINT32             BytesCopied;
     38  UINT32             BufferInSize;
     39  UINT8              *BufferIn;
     40  UINT8              *BufferInPtr;
     41  TLS_RECORD_HEADER  *RecordHeaderIn;
     42  UINT16             ThisPlainMessageSize;
     43  TLS_RECORD_HEADER  *TempRecordHeader;
     44  UINT16             ThisMessageSize;
     45  UINT32             BufferOutSize;
     46  UINT8              *BufferOut;
     47  UINT32             RecordCount;
     48  INTN               Ret;
    4949
    5050  Status           = EFI_SUCCESS;
     
    9292  //
    9393  BufferInPtr = BufferIn;
    94   while ((UINTN) BufferInPtr < (UINTN) BufferIn + BufferInSize) {
    95     RecordHeaderIn = (TLS_RECORD_HEADER *) BufferInPtr;
    96     if (RecordHeaderIn->ContentType != TlsContentTypeApplicationData || RecordHeaderIn->Length > TLS_PLAINTEXT_RECORD_MAX_PAYLOAD_LENGTH) {
     94  while ((UINTN)BufferInPtr < (UINTN)BufferIn + BufferInSize) {
     95    RecordHeaderIn = (TLS_RECORD_HEADER *)BufferInPtr;
     96    if ((RecordHeaderIn->ContentType != TlsContentTypeApplicationData) || (RecordHeaderIn->Length > TLS_PLAINTEXT_RECORD_MAX_PAYLOAD_LENGTH)) {
    9797      Status = EFI_INVALID_PARAMETER;
    9898      goto ERROR;
    9999    }
     100
    100101    BufferInPtr += TLS_RECORD_HEADER_LENGTH + RecordHeaderIn->Length;
    101     RecordCount ++;
     102    RecordCount++;
    102103  }
    103104
     
    114115  // Parsing buffer. Received packet may have multiple TLS record messages.
    115116  //
    116   BufferInPtr = BufferIn;
    117   TempRecordHeader = (TLS_RECORD_HEADER *) BufferOut;
    118   while ((UINTN) BufferInPtr < (UINTN) BufferIn + BufferInSize) {
    119     RecordHeaderIn = (TLS_RECORD_HEADER *) BufferInPtr;
     117  BufferInPtr      = BufferIn;
     118  TempRecordHeader = (TLS_RECORD_HEADER *)BufferOut;
     119  while ((UINTN)BufferInPtr < (UINTN)BufferIn + BufferInSize) {
     120    RecordHeaderIn = (TLS_RECORD_HEADER *)BufferInPtr;
    120121
    121122    ThisPlainMessageSize = RecordHeaderIn->Length;
    122123
    123     TlsWrite (TlsInstance->TlsConn, (UINT8 *) (RecordHeaderIn + 1), ThisPlainMessageSize);
     124    TlsWrite (TlsInstance->TlsConn, (UINT8 *)(RecordHeaderIn + 1), ThisPlainMessageSize);
    124125
    125126    Ret = TlsCtrlTrafficOut (TlsInstance->TlsConn, (UINT8 *)(TempRecordHeader), TLS_RECORD_HEADER_LENGTH + TLS_CIPHERTEXT_RECORD_MAX_PAYLOAD_LENGTH);
    126127
    127128    if (Ret > 0) {
    128       ThisMessageSize = (UINT16) Ret;
     129      ThisMessageSize = (UINT16)Ret;
    129130    } else {
    130131      //
    131132      // No data was successfully encrypted, continue to encrypt other messages.
    132133      //
    133       DEBUG ((EFI_D_WARN, "TlsEncryptPacket: No data read from TLS object.\n"));
     134      DEBUG ((DEBUG_WARN, "TlsEncryptPacket: No data read from TLS object.\n"));
    134135
    135136      ThisMessageSize = 0;
     
    138139    BufferOutSize += ThisMessageSize;
    139140
    140     BufferInPtr += TLS_RECORD_HEADER_LENGTH + ThisPlainMessageSize;
     141    BufferInPtr     += TLS_RECORD_HEADER_LENGTH + ThisPlainMessageSize;
    141142    TempRecordHeader = (TLS_RECORD_HEADER *)((UINT8 *)TempRecordHeader + ThisMessageSize);
    142143  }
     
    154155  }
    155156
    156   (*FragmentTable)[0].FragmentBuffer  = BufferOut;
    157   (*FragmentTable)[0].FragmentLength  = BufferOutSize;
    158   *FragmentCount                      = 1;
     157  (*FragmentTable)[0].FragmentBuffer = BufferOut;
     158  (*FragmentTable)[0].FragmentLength = BufferOutSize;
     159  *FragmentCount                     = 1;
    159160
    160161  return Status;
     
    193194EFI_STATUS
    194195TlsDecryptPacket (
    195   IN     TLS_INSTANCE                  *TlsInstance,
    196   IN OUT EFI_TLS_FRAGMENT_DATA         **FragmentTable,
    197   IN     UINT32                        *FragmentCount
     196  IN     TLS_INSTANCE           *TlsInstance,
     197  IN OUT EFI_TLS_FRAGMENT_DATA  **FragmentTable,
     198  IN     UINT32                 *FragmentCount
    198199  )
    199200{
    200   EFI_STATUS          Status;
    201   UINTN               Index;
    202   UINT32              BytesCopied;
    203   UINT8               *BufferIn;
    204   UINT32              BufferInSize;
    205   UINT8               *BufferInPtr;
    206   TLS_RECORD_HEADER   *RecordHeaderIn;
    207   UINT16              ThisCipherMessageSize;
    208   TLS_RECORD_HEADER   *TempRecordHeader;
    209   UINT16              ThisPlainMessageSize;
    210   UINT8               *BufferOut;
    211   UINT32              BufferOutSize;
    212   UINT32              RecordCount;
    213   INTN                Ret;
     201  EFI_STATUS         Status;
     202  UINTN              Index;
     203  UINT32             BytesCopied;
     204  UINT8              *BufferIn;
     205  UINT32             BufferInSize;
     206  UINT8              *BufferInPtr;
     207  TLS_RECORD_HEADER  *RecordHeaderIn;
     208  UINT16             ThisCipherMessageSize;
     209  TLS_RECORD_HEADER  *TempRecordHeader;
     210  UINT16             ThisPlainMessageSize;
     211  UINT8              *BufferOut;
     212  UINT32             BufferOutSize;
     213  UINT32             RecordCount;
     214  INTN               Ret;
    214215
    215216  Status           = EFI_SUCCESS;
     
    257258  //
    258259  BufferInPtr = BufferIn;
    259   while ((UINTN) BufferInPtr < (UINTN) BufferIn + BufferInSize) {
    260     RecordHeaderIn = (TLS_RECORD_HEADER *) BufferInPtr;
    261     if (RecordHeaderIn->ContentType != TlsContentTypeApplicationData || NTOHS (RecordHeaderIn->Length) > TLS_CIPHERTEXT_RECORD_MAX_PAYLOAD_LENGTH) {
     260  while ((UINTN)BufferInPtr < (UINTN)BufferIn + BufferInSize) {
     261    RecordHeaderIn = (TLS_RECORD_HEADER *)BufferInPtr;
     262    if ((RecordHeaderIn->ContentType != TlsContentTypeApplicationData) || (NTOHS (RecordHeaderIn->Length) > TLS_CIPHERTEXT_RECORD_MAX_PAYLOAD_LENGTH)) {
    262263      Status = EFI_INVALID_PARAMETER;
    263264      goto ERROR;
    264265    }
     266
    265267    BufferInPtr += TLS_RECORD_HEADER_LENGTH + NTOHS (RecordHeaderIn->Length);
    266     RecordCount ++;
     268    RecordCount++;
    267269  }
    268270
     
    279281  // Parsing buffer. Received packet may have multiple TLS record messages.
    280282  //
    281   BufferInPtr = BufferIn;
    282   TempRecordHeader = (TLS_RECORD_HEADER *) BufferOut;
    283   while ((UINTN) BufferInPtr < (UINTN) BufferIn + BufferInSize) {
    284     RecordHeaderIn = (TLS_RECORD_HEADER *) BufferInPtr;
     283  BufferInPtr      = BufferIn;
     284  TempRecordHeader = (TLS_RECORD_HEADER *)BufferOut;
     285  while ((UINTN)BufferInPtr < (UINTN)BufferIn + BufferInSize) {
     286    RecordHeaderIn = (TLS_RECORD_HEADER *)BufferInPtr;
    285287
    286288    ThisCipherMessageSize = NTOHS (RecordHeaderIn->Length);
    287289
    288     Ret = TlsCtrlTrafficIn (TlsInstance->TlsConn, (UINT8 *) (RecordHeaderIn), TLS_RECORD_HEADER_LENGTH + ThisCipherMessageSize);
     290    Ret = TlsCtrlTrafficIn (TlsInstance->TlsConn, (UINT8 *)(RecordHeaderIn), TLS_RECORD_HEADER_LENGTH + ThisCipherMessageSize);
    289291    if (Ret != TLS_RECORD_HEADER_LENGTH + ThisCipherMessageSize) {
    290292      TlsInstance->TlsSessionState = EfiTlsSessionError;
    291       Status = EFI_ABORTED;
     293      Status                       = EFI_ABORTED;
    292294      goto ERROR;
    293295    }
    294296
    295297    Ret = 0;
    296     Ret = TlsRead (TlsInstance->TlsConn, (UINT8 *) (TempRecordHeader + 1), TLS_PLAINTEXT_RECORD_MAX_PAYLOAD_LENGTH);
     298    Ret = TlsRead (TlsInstance->TlsConn, (UINT8 *)(TempRecordHeader + 1), TLS_PLAINTEXT_RECORD_MAX_PAYLOAD_LENGTH);
    297299
    298300    if (Ret > 0) {
    299       ThisPlainMessageSize = (UINT16) Ret;
     301      ThisPlainMessageSize = (UINT16)Ret;
    300302    } else {
    301303      //
    302304      // No data was successfully decrypted, continue to decrypt other messages.
    303305      //
    304       DEBUG ((EFI_D_WARN, "TlsDecryptPacket: No data read from TLS object.\n"));
     306      DEBUG ((DEBUG_WARN, "TlsDecryptPacket: No data read from TLS object.\n"));
    305307
    306308      ThisPlainMessageSize = 0;
     
    309311    CopyMem (TempRecordHeader, RecordHeaderIn, TLS_RECORD_HEADER_LENGTH);
    310312    TempRecordHeader->Length = ThisPlainMessageSize;
    311     BufferOutSize += TLS_RECORD_HEADER_LENGTH + ThisPlainMessageSize;
    312 
    313     BufferInPtr += TLS_RECORD_HEADER_LENGTH + ThisCipherMessageSize;
     313    BufferOutSize           += TLS_RECORD_HEADER_LENGTH + ThisPlainMessageSize;
     314
     315    BufferInPtr     += TLS_RECORD_HEADER_LENGTH + ThisCipherMessageSize;
    314316    TempRecordHeader = (TLS_RECORD_HEADER *)((UINT8 *)TempRecordHeader + TLS_RECORD_HEADER_LENGTH + ThisPlainMessageSize);
    315317  }
     
    327329  }
    328330
    329   (*FragmentTable)[0].FragmentBuffer  = BufferOut;
    330   (*FragmentTable)[0].FragmentLength  = BufferOutSize;
    331   *FragmentCount                      = 1;
     331  (*FragmentTable)[0].FragmentBuffer = BufferOut;
     332  (*FragmentTable)[0].FragmentLength = BufferOutSize;
     333  *FragmentCount                     = 1;
    332334
    333335  return Status;
     
    347349  return Status;
    348350}
    349 
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette