VirtualBox

Ignore:
Timestamp:
Sep 11, 2019 8:46:37 AM (5 years ago)
Author:
vboxsync
Message:

Devices/EFI/FirmwareNew: Start upgrade process to edk2-stable201908 (compiles on Windows and works to some extent), bugref:4643

Location:
trunk/src/VBox/Devices/EFI/FirmwareNew
Files:
198 added
2 deleted
224 edited

Legend:

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

  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Application/VConfig/VConfig.c

    r77662 r80721  
    22  Shell application for VLAN configuration.
    33
    4   Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Application/VConfig/VConfig.inf

    r77662 r80721  
    44#  It is shell application which is used to get and set VLAN configuration.
    55#
    6 #  Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
     6#  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    77#
    8 #  This program and the accompanying materials
    9 #  are licensed and made available under the terms and conditions of the BSD License
    10 #  which accompanies this distribution. The full text of the license may be found at
    11 #  http://opensource.org/licenses/bsd-license.php.
    12 #
    13 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    14 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     8#  SPDX-License-Identifier: BSD-2-Clause-Patent
    159#
    1610##
     
    3226
    3327#
    34 #  VALID_ARCHITECTURES           = IA32 X64 IPF
     28#  VALID_ARCHITECTURES           = IA32 X64
    3529#
    3630
     
    4236  MdePkg/MdePkg.dec
    4337  MdeModulePkg/MdeModulePkg.dec
     38  NetworkPkg/NetworkPkg.dec
    4439  ShellPkg/ShellPkg.dec
    4540
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Application/VConfig/VConfig.uni

    r77662 r80721  
    44// It is shell application which is used to get and set VLAN configuration.
    55//
    6 // Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
     6// Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    77//
    8 // This program and the accompanying materials
    9 // are licensed and made available under the terms and conditions of the BSD License
    10 // which accompanies this distribution. The full text of the license may be found at
    11 // http://opensource.org/licenses/bsd-license.php.
    12 //
    13 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    14 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     8// SPDX-License-Identifier: BSD-2-Clause-Patent
    159//
    1610// **/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Application/VConfig/VConfigExtra.uni

    r77662 r80721  
    22// VConfig Localized Strings and Content
    33//
    4 // Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
     4// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
    55//
    6 // This program and the accompanying materials
    7 // are licensed and made available under the terms and conditions of the BSD License
    8 // which accompanies this distribution. The full text of the license may be found at
    9 // http://opensource.org/licenses/bsd-license.php.
    10 //
    11 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6// SPDX-License-Identifier: BSD-2-Clause-Patent
    137//
    148// **/
    159
    16 #string STR_PROPERTIES_MODULE_NAME 
    17 #language en-US 
     10#string STR_PROPERTIES_MODULE_NAME
     11#language en-US
    1812"Vlan Config App"
    1913
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Application/VConfig/VConfigStrings.uni

    r77662 r80721  
    44  Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Dhcp6Dxe/ComponentName.c

    r77662 r80721  
    22  UEFI Component Name(2) protocol implementation for Dhcp6 driver.
    33
    4   Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Dhcp6Dxe/Dhcp6Driver.c

    r58466 r80721  
    33  implementationfor for Dhcp6 Driver.
    44
    5   Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
    6 
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     6
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Dhcp6Dxe/Dhcp6Driver.h

    r77662 r80721  
    55  Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    66
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf

    r77662 r80721  
    66#
    77#  (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
    8 #  Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
     8#  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    99#
    10 #  This program and the accompanying materials
    11 #  are licensed and made available under the terms and conditions of the BSD License
    12 #  which accompanies this distribution. The full text of the license may be found at
    13 #  http://opensource.org/licenses/bsd-license.php.
    14 #
    15 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    16 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     10#  SPDX-License-Identifier: BSD-2-Clause-Patent
    1711#
    1812##
     
    3125# The following information is for reference only and not required by the build tools.
    3226#
    33 #  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
     27#  VALID_ARCHITECTURES           = IA32 X64 EBC
    3428#
    3529#  DRIVER_BINDING                =  gDhcp6DriverBinding
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.uni

    r77662 r80721  
    55// and other configuration parameters from DHCPv6 servers.
    66//
    7 // Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
     7// Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    88//
    9 // This program and the accompanying materials
    10 // are licensed and made available under the terms and conditions of the BSD License
    11 // which accompanies this distribution. The full text of the license may be found at
    12 // http://opensource.org/licenses/bsd-license.php.
    13 //
    14 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    15 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     9// SPDX-License-Identifier: BSD-2-Clause-Patent
    1610//
    1711// **/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Dhcp6Dxe/Dhcp6DxeExtra.uni

    r77662 r80721  
    22// Dhcp6Dxe Localized Strings and Content
    33//
    4 // Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
     4// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
    55//
    6 // This program and the accompanying materials
    7 // are licensed and made available under the terms and conditions of the BSD License
    8 // which accompanies this distribution. The full text of the license may be found at
    9 // http://opensource.org/licenses/bsd-license.php.
    10 //
    11 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6// SPDX-License-Identifier: BSD-2-Clause-Patent
    137//
    148// **/
    159
    16 #string STR_PROPERTIES_MODULE_NAME 
    17 #language en-US 
     10#string STR_PROPERTIES_MODULE_NAME
     11#language en-US
    1812"DHCP6 DXE"
    1913
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Dhcp6Dxe/Dhcp6Impl.c

    r77662 r80721  
    22  This EFI_DHCP6_PROTOCOL interface implementation.
    33
    4   Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    2014//
    2115//   ALL_DHCP_Relay_Agents_and_Servers address: FF02::1:2
    22 //   ALL_DHCP_Servers address:                  FF05::1:3
    2316//
    2417EFI_IPv6_ADDRESS   mAllDhcpRelayAndServersAddress = {{0xFF, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2}};
    25 EFI_IPv6_ADDRESS   mAllDhcpServersAddress         = {{0xFF, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3}};
    2618
    2719EFI_DHCP6_PROTOCOL gDhcp6ProtocolTemplate = {
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Dhcp6Dxe/Dhcp6Impl.h

    r77662 r80721  
    22  Dhcp6 internal data structure and definition declaration.
    33
    4   Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    6963
    7064extern EFI_IPv6_ADDRESS           mAllDhcpRelayAndServersAddress;
    71 extern EFI_IPv6_ADDRESS           mAllDhcpServersAddress;
    7265extern EFI_DHCP6_PROTOCOL         gDhcp6ProtocolTemplate;
    7366
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Dhcp6Dxe/Dhcp6Io.c

    r77662 r80721  
    33
    44  (C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>
    5   Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    6 
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     6
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Dhcp6Dxe/Dhcp6Io.h

    r58459 r80721  
    44  Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Dhcp6Dxe/Dhcp6Utility.c

    r77662 r80721  
    33
    44  (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
    5   Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
    6 
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     6
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
     
    124118    Stamp = (UINT32)
    125119      (
    126         (((((Time.Year - 2000) * 360 + (Time.Month - 1)) * 30 + (Time.Day - 1)) * 24 + Time.Hour) * 60 + Time.Minute) *
     120        ((((UINT32)(Time.Year - 2000) * 360 + (Time.Month - 1) * 30 + (Time.Day - 1)) * 24 + Time.Hour) * 60 + Time.Minute) *
    127121        60 +
    128122        Time.Second
     
    882876  //
    883877  gRT->GetTime (&Time, NULL);
    884   CurrentStamp = (UINT64)
    885     (
    886       ((((((Time.Year - 2000) * 360 +
    887        (Time.Month - 1)) * 30 +
    888        (Time.Day - 1)) * 24 + Time.Hour) * 60 +
    889        Time.Minute) * 60 + Time.Second) * 100
    890        + DivU64x32(Time.Nanosecond, 10000000)
    891     );
     878  CurrentStamp = MultU64x32 (
     879                   ((((UINT32)(Time.Year - 2000) * 360 + (Time.Month - 1) * 30 + (Time.Day - 1)) * 24 + Time.Hour) * 60 + Time.Minute) * 60 + Time.Second,
     880                   100
     881                   ) +
     882                 DivU64x32(
     883                   Time.Nanosecond,
     884                   10000000
     885                   );
    892886
    893887  //
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Dhcp6Dxe/Dhcp6Utility.h

    r58459 r80721  
    44  Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/DnsDxe/ComponentName.c

    r77662 r80721  
    22Implementation of EFI_COMPONENT_NAME_PROTOCOL and EFI_COMPONENT_NAME2_PROTOCOL protocol.
    33
    4 Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/DnsDxe/DnsDhcp.c

    r77662 r80721  
    22Functions implementation related with DHCPv4/v6 for DNS driver.
    33
    4 Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/DnsDxe/DnsDhcp.h

    r77662 r80721  
    22Functions implementation related with DHCPv4/v6 for DNS driver.
    33
    4 Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/DnsDxe/DnsDriver.c

    r77662 r80721  
    22The driver binding and service binding protocol for DnsDxe driver.
    33
    4 Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2015 - 2019, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
     
    377371    while (!IsListEmpty (&mDriverData->Dns4CacheList)) {
    378372      Entry = NetListRemoveHead (&mDriverData->Dns4CacheList);
     373      ASSERT (Entry != NULL);
    379374      ItemCache4 = NET_LIST_USER_STRUCT (Entry, DNS4_CACHE, AllCacheLink);
    380       if (ItemCache4->DnsCache.HostName != NULL) {
    381         FreePool (ItemCache4->DnsCache.HostName);
    382       }
    383       if (ItemCache4->DnsCache.IpAddress != NULL) {
    384         FreePool (ItemCache4->DnsCache.IpAddress);
    385       }
     375      FreePool (ItemCache4->DnsCache.HostName);
     376      FreePool (ItemCache4->DnsCache.IpAddress);
    386377      FreePool (ItemCache4);
    387378    }
     
    389380    while (!IsListEmpty (&mDriverData->Dns4ServerList)) {
    390381      Entry = NetListRemoveHead (&mDriverData->Dns4ServerList);
     382      ASSERT (Entry != NULL);
    391383      ItemServerIp4 = NET_LIST_USER_STRUCT (Entry, DNS4_SERVER_IP, AllServerLink);
    392384      FreePool (ItemServerIp4);
     
    395387    while (!IsListEmpty (&mDriverData->Dns6CacheList)) {
    396388      Entry = NetListRemoveHead (&mDriverData->Dns6CacheList);
     389      ASSERT (Entry != NULL);
    397390      ItemCache6 = NET_LIST_USER_STRUCT (Entry, DNS6_CACHE, AllCacheLink);
    398       if (ItemCache6->DnsCache.HostName != NULL) {
    399         FreePool (ItemCache6->DnsCache.HostName);
    400       }
    401       if (ItemCache6->DnsCache.IpAddress != NULL) {
    402         FreePool (ItemCache6->DnsCache.IpAddress);
    403       }
     391      FreePool (ItemCache6->DnsCache.HostName);
     392      FreePool (ItemCache6->DnsCache.IpAddress);
    404393      FreePool (ItemCache6);
    405394    }
     
    407396    while (!IsListEmpty (&mDriverData->Dns6ServerList)) {
    408397      Entry = NetListRemoveHead (&mDriverData->Dns6ServerList);
     398      ASSERT (Entry != NULL);
    409399      ItemServerIp6 = NET_LIST_USER_STRUCT (Entry, DNS6_SERVER_IP, AllServerLink);
    410400      FreePool (ItemServerIp6);
     
    511501
    512502  Error2:
    513      gBS->UninstallMultipleProtocolInterfaces (
    514            gDns6DriverBinding.DriverBindingHandle,
    515            &gEfiDriverBindingProtocolGuid,
    516            &gDns6DriverBinding,
    517            &gEfiComponentName2ProtocolGuid,
    518            &gDnsComponentName2,
    519            &gEfiComponentNameProtocolGuid,
    520            &gDnsComponentName,
    521            NULL
    522            );
     503     EfiLibUninstallDriverBindingComponentName2 (
     504       &gDns6DriverBinding,
     505       &gDnsComponentName,
     506       &gDnsComponentName2
     507       );
    523508
    524509  Error1:
    525     gBS->UninstallMultipleProtocolInterfaces (
    526            ImageHandle,
    527            &gEfiDriverBindingProtocolGuid,
    528            &gDns4DriverBinding,
    529            &gEfiComponentName2ProtocolGuid,
    530            &gDnsComponentName2,
    531            &gEfiComponentNameProtocolGuid,
    532            &gDnsComponentName,
    533            NULL
    534            );
     510    EfiLibUninstallDriverBindingComponentName2 (
     511      &gDns4DriverBinding,
     512      &gDnsComponentName,
     513      &gDnsComponentName2
     514      );
    535515
    536516  return Status;
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/DnsDxe/DnsDriver.h

    r77662 r80721  
    22The header files of the driver binding and service binding protocol for DnsDxe driver.
    33
    4 Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/DnsDxe/DnsDxe.inf

    r77662 r80721  
    22# Implementation of EFI_DNS4_PROTOCOL and EFI_DNS6_PROTOCOL interfaces.
    33#
    4 # Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
     4# Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55#
    6 #  This program and the accompanying materials
    7 #  are licensed and made available under the terms and conditions of the BSD License
    8 #  which accompanies this distribution. The full text of the license may be found at
    9 #  http://opensource.org/licenses/bsd-license.php
    10 #
    11 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6#  SPDX-License-Identifier: BSD-2-Clause-Patent
    137#
    148#
     
    2822  MdePkg/MdePkg.dec
    2923  MdeModulePkg/MdeModulePkg.dec
     24  NetworkPkg/NetworkPkg.dec
    3025
    3126[Sources]
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/DnsDxe/DnsDxe.uni

    r77662 r80721  
    33//
    44// This driver provides UEFI 2.5 DNS protocols. It could work with an IPv4 and IPv6 stack.
    5 //
    65//
    7 // Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
    86//
    9 // This program and the accompanying materials
    10 // are licensed and made available under the terms and conditions of the BSD License
    11 // which accompanies this distribution. The full text of the license may be found at
    12 // http://opensource.org/licenses/bsd-license.php.
    13 //
    14 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    15 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7// Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     8//
     9// SPDX-License-Identifier: BSD-2-Clause-Patent
    1610//
    1711// **/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/DnsDxe/DnsDxeExtra.uni

    r77662 r80721  
    22// DnsDxe Localized Strings and Content
    33//
    4 // Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
     4// Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55//
    6 // This program and the accompanying materials
    7 // are licensed and made available under the terms and conditions of the BSD License
    8 // which accompanies this distribution. The full text of the license may be found at
    9 // http://opensource.org/licenses/bsd-license.php.
    10 //
    11 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6// SPDX-License-Identifier: BSD-2-Clause-Patent
    137//
    148// **/
    159
    16 #string STR_PROPERTIES_MODULE_NAME 
    17 #language en-US 
     10#string STR_PROPERTIES_MODULE_NAME
     11#language en-US
    1812"UEFI DNS DXE"
    1913
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/DnsDxe/DnsImpl.c

    r77662 r80721  
    22DnsDxe support functions implementation.
    33
    4 Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
     
    11151109  @param  Instance              The DNS instance
    11161110  @param  RxString              Received buffer.
     1111  @param  Length                Received buffer length.
    11171112  @param  Completed             Flag to indicate that Dns response is valid.
    11181113
     
    11251120  IN OUT DNS_INSTANCE              *Instance,
    11261121  IN     UINT8                     *RxString,
     1122  IN     UINT32                    Length,
    11271123     OUT BOOLEAN                   *Completed
    11281124  )
     
    11311127
    11321128  CHAR8                 *QueryName;
     1129  UINT32                QueryNameLen;
    11331130  DNS_QUERY_SECTION     *QuerySection;
    11341131
     
    11561153
    11571154  EFI_STATUS            Status;
     1155  UINT32                RemainingLength;
    11581156
    11591157  EFI_TPL               OldTpl;
     
    11791177  *Completed       = TRUE;
    11801178  Status           = EFI_SUCCESS;
     1179  RemainingLength  = Length;
     1180
     1181  //
     1182  // Check whether the remaining packet length is avaiable or not.
     1183  //
     1184  if (RemainingLength <= sizeof (DNS_HEADER)) {
     1185    *Completed = FALSE;
     1186    return EFI_ABORTED;
     1187  } else {
     1188    RemainingLength -= sizeof (DNS_HEADER);
     1189  }
    11811190
    11821191  //
     
    11931202
    11941203  //
     1204  // There is always one QuestionsNum in DNS message. The capability to handle more
     1205  // than one requires to redesign the message format. Currently, it's not supported.
     1206  //
     1207  if (DnsHeader->QuestionsNum > 1) {
     1208    *Completed = FALSE;
     1209    return EFI_UNSUPPORTED;
     1210  }
     1211
     1212  //
    11951213  // Get Query name
    11961214  //
    11971215  QueryName = (CHAR8 *) (RxString + sizeof (*DnsHeader));
    11981216
     1217  QueryNameLen = (UINT32) AsciiStrLen (QueryName) + 1;
     1218
     1219  //
     1220  // Check whether the remaining packet length is avaiable or not.
     1221  //
     1222  if (RemainingLength <= QueryNameLen + sizeof (DNS_QUERY_SECTION)) {
     1223    *Completed = FALSE;
     1224    return EFI_ABORTED;
     1225  } else {
     1226    RemainingLength -= (QueryNameLen + sizeof (DNS_QUERY_SECTION));
     1227  }
     1228
    11991229  //
    12001230  // Get query section
    12011231  //
    1202   QuerySection = (DNS_QUERY_SECTION *) (QueryName + AsciiStrLen (QueryName) + 1);
     1232  QuerySection = (DNS_QUERY_SECTION *) (QueryName + QueryNameLen);
    12031233  QuerySection->Type = NTOHS (QuerySection->Type);
    12041234  QuerySection->Class = NTOHS (QuerySection->Class);
    1205 
    1206   //
    1207   // Get Answer name
    1208   //
    1209   AnswerName = (CHAR8 *) QuerySection + sizeof (*QuerySection);
    12101235
    12111236  OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
     
    13431368
    13441369  //
     1370  // Get Answer name
     1371  //
     1372  AnswerName = (CHAR8 *) QuerySection + sizeof (*QuerySection);
     1373
     1374  //
    13451375  // Processing AnswerSection.
    13461376  //
    13471377  while (AnswerSectionNum < DnsHeader->AnswersNum) {
     1378    //
     1379    // Check whether the remaining packet length is avaiable or not.
     1380    //
     1381    if (RemainingLength <= sizeof (UINT16) + sizeof (DNS_ANSWER_SECTION)) {
     1382      *Completed = FALSE;
     1383      Status = EFI_ABORTED;
     1384      goto ON_EXIT;
     1385    } else {
     1386      RemainingLength -= (sizeof (UINT16) + sizeof (DNS_ANSWER_SECTION));
     1387    }
     1388
    13481389    //
    13491390    // Answer name should be PTR, else EFI_UNSUPPORTED returned.
     
    13621403    AnswerSection->Ttl = NTOHL (AnswerSection->Ttl);
    13631404    AnswerSection->DataLength = NTOHS (AnswerSection->DataLength);
     1405
     1406    //
     1407    // Check whether the remaining packet length is avaiable or not.
     1408    //
     1409    if (RemainingLength < AnswerSection->DataLength) {
     1410      *Completed = FALSE;
     1411      Status = EFI_ABORTED;
     1412      goto ON_EXIT;
     1413    } else {
     1414      RemainingLength -= AnswerSection->DataLength;
     1415    }
    13641416
    13651417    //
     
    17341786
    17351787  UINT8                     *RcvString;
     1788  UINT32                    Len;
    17361789
    17371790  BOOLEAN                   Completed;
     
    17491802  ASSERT (Packet != NULL);
    17501803
    1751   if (Packet->TotalSize <= sizeof (DNS_HEADER)) {
    1752     goto ON_EXIT;
    1753   }
     1804  Len = Packet->TotalSize;
    17541805
    17551806  RcvString = NetbufGetByte (Packet, 0, NULL);
     
    17591810  // Parse Dns Response
    17601811  //
    1761   ParseDnsResponse (Instance, RcvString, &Completed);
     1812  ParseDnsResponse (Instance, RcvString, Len, &Completed);
    17621813
    17631814ON_EXIT:
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/DnsDxe/DnsImpl.h

    r77662 r80721  
    22DnsDxe support functions implementation.
    33
    4 Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
     
    584578  @param  Instance              The DNS instance
    585579  @param  RxString              Received buffer.
     580  @param  Length                Received buffer length.
    586581  @param  Completed             Flag to indicate that Dns response is valid.
    587582
     
    594589  IN OUT DNS_INSTANCE              *Instance,
    595590  IN     UINT8                     *RxString,
     591  IN     UINT32                    Length,
    596592     OUT BOOLEAN                   *Completed
    597593  );
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/DnsDxe/DnsProtocol.c

    r77662 r80721  
    22Implementation of EFI_DNS4_PROTOCOL and EFI_DNS6_PROTOCOL interfaces.
    33
    4 Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootClient.c

    r77662 r80721  
    44Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
    6 This program and the accompanying materials are licensed and made available under
    7 the terms and conditions of the BSD License that accompanies this distribution.
    8 The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php.
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootClient.h

    r77662 r80721  
    22  Declaration of the boot file download function.
    33
    4 Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
    6 This program and the accompanying materials are licensed and made available under
    7 the terms and conditions of the BSD License that accompanies this distribution.
    8 The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php.
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootComponentName.c

    r77662 r80721  
    22  Implementation of EFI_COMPONENT_NAME_PROTOCOL and EFI_COMPONENT_NAME2_PROTOCOL protocol.
    33
    4 Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials are licensed and made available under
    6 the terms and conditions of the BSD License that accompanies this distribution.
    7 The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php.
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootComponentName.h

    r77662 r80721  
    33  EFI_COMPONENT_NAME2_PROTOCOL function.
    44
    5 Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
    6 This program and the accompanying materials are licensed and made available under
    7 the terms and conditions of the BSD License that accompanies this distribution.
    8 The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php.
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootConfig.c

    r77662 r80721  
    22  Helper functions for configuring or getting the parameters relating to HTTP Boot.
    33
    4 Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
     
    474468    //
    475469    Uri = HiiGetString (CallbackInfo->RegisteredHandle, Value->string, NULL);
     470    if(Uri == NULL) {
     471      return EFI_INVALID_PARAMETER;
     472    }
    476473
    477474    //
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootConfig.h

    r77662 r80721  
    44
    55Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    6 This program and the accompanying materials
    7 are licensed and made available under the terms and conditions of the BSD License
    8 which accompanies this distribution.  The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootConfigNVDataStruc.h

    r77662 r80721  
    33
    44Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootConfigStrings.uni

    r77662 r80721  
    44  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootConfigVfr.vfr

    r77662 r80721  
    22  VFR file used by the HTTP Boot configuration component.
    33
    4   Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootDhcp4.c

    r77662 r80721  
    22  Functions implementation related with DHCPv4 for HTTP boot driver.
    33
    4 Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials are licensed and made available under
    6 the terms and conditions of the BSD License that accompanies this distribution.
    7 The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php.
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
     
    333327  //
    334328  Option = Options[HTTP_BOOT_DHCP4_TAG_INDEX_CLASS_ID];
    335   if ((Option != NULL) && (Option->Length >= 9) &&
    336       (CompareMem (Option->Data, DEFAULT_CLASS_ID_DATA, 9) == 0)) {
     329  if ((Option != NULL) && (Option->Length >= 10) &&
     330      (CompareMem (Option->Data, DEFAULT_CLASS_ID_DATA, 10) == 0)) {
    337331    IsHttpOffer = TRUE;
    338332  }
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootDhcp4.h

    r77662 r80721  
    22  Functions declaration related with DHCPv4 for HTTP boot driver.
    33
    4 Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials are licensed and made available under
    6 the terms and conditions of the BSD License that accompanies this distribution.
    7 The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php.
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootDhcp6.c

    r77662 r80721  
    22  Functions implementation related with DHCPv6 for HTTP boot driver.
    33
    4 Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials are licensed and made available under
    6 the terms and conditions of the BSD License that accompanies this distribution.
    7 The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php.
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootDhcp6.h

    r77662 r80721  
    22  Functions declaration related with DHCPv6 for HTTP boot driver.
    33
    4 Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials are licensed and made available under
    6 the terms and conditions of the BSD License that accompanies this distribution.
    7 The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php.
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootDxe.c

    r77662 r80721  
    22  Driver Binding functions implementation for UEFI HTTP boot.
    33
    4 Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials are licensed and made available under
    6 the terms and conditions of the BSD License that accompanies this distribution.
    7 The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php.
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
     
    13281322             );
    13291323  if (EFI_ERROR (Status)) {
    1330     gBS->UninstallMultipleProtocolInterfaces(
    1331            ImageHandle,
    1332            &gEfiDriverBindingProtocolGuid,
    1333            &gHttpBootIp4DxeDriverBinding,
    1334            &gEfiComponentName2ProtocolGuid,
    1335            &gHttpBootDxeComponentName2,
    1336            &gEfiComponentNameProtocolGuid,
    1337            &gHttpBootDxeComponentName,
    1338            NULL
    1339            );
     1324    EfiLibUninstallDriverBindingComponentName2(
     1325      &gHttpBootIp4DxeDriverBinding,
     1326      &gHttpBootDxeComponentName,
     1327      &gHttpBootDxeComponentName2
     1328      );
    13401329  }
    13411330  return Status;
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootDxe.h

    r77662 r80721  
    22  UEFI HTTP boot driver's private data structure and interfaces declaration.
    33
    4 Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
    6 This program and the accompanying materials are licensed and made available under
    7 the terms and conditions of the BSD License that accompanies this distribution.
    8 The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php.
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootDxe.inf

    r77662 r80721  
    22#  This modules produce the Load File Protocol for UEFI HTTP boot.
    33#
    4 #  Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
    5 #  This program and the accompanying materials
    6 #  are licensed and made available under the terms and conditions of the BSD License
    7 #  which accompanies this distribution.  The full text of the license may be found at
    8 #  http://opensource.org/licenses/bsd-license.php
    9 #
    10 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4#  Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     5#  SPDX-License-Identifier: BSD-2-Clause-Patent
    126#
    137##
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootDxe.uni

    r77662 r80721  
    44// This driver provides EFI Load File Protocol which is used to download
    55// the boot image from HTTP server. It could work with an IPv4 or IPv6 stack.
    6 //
    76//
    8 // Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
    97//
    10 // This program and the accompanying materials
    11 // are licensed and made available under the terms and conditions of the BSD License
    12 // which accompanies this distribution. The full text of the license may be found at
    13 // http://opensource.org/licenses/bsd-license.php.
    14 //
    15 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    16 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     8// Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     9//
     10// SPDX-License-Identifier: BSD-2-Clause-Patent
    1711//
    1812// **/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootDxeExtra.uni

    r77662 r80721  
    22// HttpBootDxe Localized Strings and Content
    33//
    4 // Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
     4// Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55//
    6 // This program and the accompanying materials
    7 // are licensed and made available under the terms and conditions of the BSD License
    8 // which accompanies this distribution. The full text of the license may be found at
    9 // http://opensource.org/licenses/bsd-license.php.
    10 //
    11 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6// SPDX-License-Identifier: BSD-2-Clause-Patent
    137//
    148// **/
    159
    16 #string STR_PROPERTIES_MODULE_NAME 
    17 #language en-US 
     10#string STR_PROPERTIES_MODULE_NAME
     11#language en-US
    1812"UEFI HTTP BOOT DXE"
    1913
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootImpl.c

    r77662 r80721  
    44Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
    6 This program and the accompanying materials are licensed and made available under
    7 the terms and conditions of the BSD License that accompanies this distribution.
    8 The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php.
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootImpl.h

    r77662 r80721  
    22  The declaration of UEFI HTTP boot function.
    33
    4 Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials are licensed and made available under
    6 the terms and conditions of the BSD License that accompanies this distribution.
    7 The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php.
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootSupport.c

    r77662 r80721  
    22  Support functions implementation for UEFI HTTP boot driver.
    33
    4 Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
    6 This program and the accompanying materials are licensed and made available under
    7 the terms and conditions of the BSD License that accompanies this distribution.
    8 The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php.
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpBootDxe/HttpBootSupport.h

    r77662 r80721  
    22  Support functions declaration for UEFI HTTP boot driver.
    33
    4 Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials are licensed and made available under
    6 the terms and conditions of the BSD License that accompanies this distribution.
    7 The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php.
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpDxe/ComponentName.c

    r77662 r80721  
    33  EFI_COMPONENT_NAME2_PROTOCOL protocol.
    44
    5   Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
     5  Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    66
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpDxe/ComponentName.h

    r77662 r80721  
    33
    44Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpDxe/HttpDns.c

    r77662 r80721  
    22  Routines for HttpDxe driver to perform DNS resolution based on UEFI DNS protocols.
    33
    4 Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpDxe/HttpDns.h

    r77662 r80721  
    22  The header file of routines for HttpDxe driver to perform DNS resolution based on UEFI DNS protocols.
    33
    4 Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpDxe/HttpDriver.c

    r77662 r80721  
    22  The driver binding and service binding protocol for HttpDxe driver.
    33
    4   Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55  (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
    66
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
     
    231225             );
    232226  if (EFI_ERROR (Status)) {
    233     gBS->UninstallMultipleProtocolInterfaces (
    234            ImageHandle,
    235            &gEfiDriverBindingProtocolGuid,
    236            &gHttpDxeIp4DriverBinding,
    237            &gEfiComponentName2ProtocolGuid,
    238            &gHttpDxeComponentName2,
    239            &gEfiComponentNameProtocolGuid,
    240            &gHttpDxeComponentName,
    241            NULL
    242            );
     227    EfiLibUninstallDriverBindingComponentName2 (
     228      &gHttpDxeIp4DriverBinding,
     229      &gHttpDxeComponentName,
     230      &gHttpDxeComponentName2
     231      );
    243232  }
    244233  return Status;
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpDxe/HttpDriver.h

    r77662 r80721  
    22  The header files of the driver binding and service binding protocol for HttpDxe driver.
    33
    4   Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55  (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
    66
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
     
    6256
    6357#include <Guid/TlsAuthentication.h>
     58#include <Guid/HttpTlsCipherList.h>
    6459
    6560#include <IndustryStandard/Tls1.h>
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpDxe/HttpDxe.inf

    r77662 r80721  
    22#  Implementation of EFI HTTP protocol interfaces.
    33#
    4 #  Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
     4#  Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55#
    6 #  This program and the accompanying materials
    7 #  are licensed and made available under the terms and conditions of the BSD License
    8 #  which accompanies this distribution. The full text of the license may be found at
    9 #  http://opensource.org/licenses/bsd-license.php.
    10 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6#  SPDX-License-Identifier: BSD-2-Clause-Patent
    127#
    138#
     
    7570[Guids]
    7671  gEfiTlsCaCertificateGuid                         ## SOMETIMES_CONSUMES  ## Variable:L"TlsCaCertificate"
     72  gEdkiiHttpTlsCipherListGuid                      ## SOMETIMES_CONSUMES  ## Variable:L"HttpTlsCipherList"
     73  gEfiCertX509Guid                                 ## SOMETIMES_CONSUMES  ## GUID  # Check the cert type
    7774
    7875[Pcd]
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpDxe/HttpDxe.uni

    r77662 r80721  
    33//
    44// This driver provides UEFI 2.5 HTTP protocols. It could work with an IPv4 or IPv6 stack.
    5 //
    65//
    7 // Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
    86//
    9 // This program and the accompanying materials
    10 // are licensed and made available under the terms and conditions of the BSD License
    11 // which accompanies this distribution. The full text of the license may be found at
    12 // http://opensource.org/licenses/bsd-license.php.
    13 //
    14 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    15 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7// Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     8//
     9// SPDX-License-Identifier: BSD-2-Clause-Patent
    1610//
    1711// **/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpDxe/HttpDxeExtra.uni

    r77662 r80721  
    22// HttpDxe Localized Strings and Content
    33//
    4 // Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
     4// Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55//
    6 // This program and the accompanying materials
    7 // are licensed and made available under the terms and conditions of the BSD License
    8 // which accompanies this distribution. The full text of the license may be found at
    9 // http://opensource.org/licenses/bsd-license.php.
    10 //
    11 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6// SPDX-License-Identifier: BSD-2-Clause-Patent
    137//
    148// **/
    159
    16 #string STR_PROPERTIES_MODULE_NAME 
    17 #language en-US 
     10#string STR_PROPERTIES_MODULE_NAME
     11#language en-US
    1812"UEFI HTTP DXE"
    1913
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpDxe/HttpImpl.c

    r77662 r80721  
    22  Implementation of EFI_HTTP_PROTOCOL protocol interfaces.
    33
    4   Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55  (C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<BR>
    66
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
     
    282276
    283277  //
    284   // Only support GET, HEAD, PATCH, PUT and POST method in current implementation.
     278  // Only support GET, HEAD, DELETE, PATCH, PUT and POST method in current implementation.
    285279  //
    286280  if ((Request != NULL) && (Request->Method != HttpMethodGet) &&
    287       (Request->Method != HttpMethodHead) && (Request->Method != HttpMethodPut) &&
    288       (Request->Method != HttpMethodPost) && (Request->Method != HttpMethodPatch)) {
     281      (Request->Method != HttpMethodHead) && (Request->Method != HttpMethodDelete) &&
     282      (Request->Method != HttpMethodPut) && (Request->Method != HttpMethodPost) &&
     283      (Request->Method != HttpMethodPatch)) {
    289284    return EFI_UNSUPPORTED;
    290285  }
     
    405400    }
    406401
    407     HostName   = NULL;
    408     Status     = HttpUrlGetHostName (Url, UrlParser, &HostName);
     402    Status = HttpUrlGetHostName (Url, UrlParser, &HostName);
    409403    if (EFI_ERROR (Status)) {
    410      goto Error1;
     404      goto Error1;
     405    }
     406
     407    if (HttpInstance->LocalAddressIsIPv6) {
     408      HostNameSize = AsciiStrSize (HostName);
     409
     410      if (HostNameSize > 2 && HostName[0] == '[' && HostName[HostNameSize - 2] == ']') {
     411        //
     412        // HostName format is expressed as IPv6, so, remove '[' and ']'.
     413        //
     414        HostNameSize -= 2;
     415        CopyMem (HostName, HostName + 1, HostNameSize - 1);
     416        HostName[HostNameSize - 1] = '\0';
     417      }
    411418    }
    412419
     
    916923  )
    917924{
     925  HTTP_CALLBACK_DATA            *CallbackData;
    918926  HTTP_TOKEN_WRAP               *Wrap;
    919927  UINTN                         BodyLength;
     
    928936  }
    929937
    930   Wrap = (HTTP_TOKEN_WRAP *) Context;
    931   Body = Wrap->HttpToken->Message->Body;
    932   BodyLength = Wrap->HttpToken->Message->BodyLength;
     938  CallbackData = (HTTP_CALLBACK_DATA *) Context;
     939
     940  Wrap       = (HTTP_TOKEN_WRAP *) (CallbackData->Wrap);
     941  Body       = CallbackData->ParseData;
     942  BodyLength = CallbackData->ParseDataLength;
     943
    933944  if (Data < Body + BodyLength) {
    934945    Wrap->HttpInstance->NextMsg = Data;
     
    936947    Wrap->HttpInstance->NextMsg = NULL;
    937948  }
    938 
    939 
    940   //
    941   // Free Tx4Token or Tx6Token since already received corrsponding HTTP response.
    942   //
    943   FreePool (Wrap);
    944949
    945950  return EFI_SUCCESS;
     
    11911196                 HttpMsg->Headers,
    11921197                 HttpBodyParserCallback,
    1193                  (VOID *) ValueInItem,
     1198                 (VOID *) (&HttpInstance->CallbackData),
    11941199                 &HttpInstance->MsgParser
    11951200                 );
     
    12021207      //
    12031208      if (HttpInstance->CacheBody != NULL) {
     1209        //
     1210        // Record the CallbackData data.
     1211        //
     1212        HttpInstance->CallbackData.Wrap = (VOID *) Wrap;
     1213        HttpInstance->CallbackData.ParseData = (VOID *) HttpInstance->CacheBody;
     1214        HttpInstance->CallbackData.ParseDataLength = HttpInstance->CacheLen;
     1215
     1216        //
     1217        // Parse message with CallbackData data.
     1218        //
    12041219        Status = HttpParseMessageBody (HttpInstance->MsgParser, HttpInstance->CacheLen, HttpInstance->CacheBody);
    12051220        if (EFI_ERROR (Status)) {
    12061221          goto Error2;
    12071222        }
    1208 
    1209         if (HttpIsMessageComplete (HttpInstance->MsgParser)) {
    1210           //
    1211           // Free the MsgParse since we already have a full HTTP message.
    1212           //
    1213           HttpFreeMsgParser (HttpInstance->MsgParser);
    1214           HttpInstance->MsgParser = NULL;
    1215         }
     1223      }
     1224
     1225      if (HttpIsMessageComplete (HttpInstance->MsgParser)) {
     1226        //
     1227        // Free the MsgParse since we already have a full HTTP message.
     1228        //
     1229        HttpFreeMsgParser (HttpInstance->MsgParser);
     1230        HttpInstance->MsgParser = NULL;
    12161231      }
    12171232    }
     
    13321347
    13331348    //
    1334     // Check whether we receive a complete HTTP message.
     1349    // Process the received the body packet.
     1350    //
     1351    HttpMsg->BodyLength = MIN (Fragment.Len, (UINT32) HttpMsg->BodyLength);
     1352
     1353    CopyMem (HttpMsg->Body, Fragment.Bulk, HttpMsg->BodyLength);
     1354
     1355    //
     1356    // Record the CallbackData data.
     1357    //
     1358    HttpInstance->CallbackData.Wrap = (VOID *) Wrap;
     1359    HttpInstance->CallbackData.ParseData = HttpMsg->Body;
     1360    HttpInstance->CallbackData.ParseDataLength = HttpMsg->BodyLength;
     1361
     1362    //
     1363    // Parse Body with CallbackData data.
    13351364    //
    13361365    Status = HttpParseMessageBody (
    13371366               HttpInstance->MsgParser,
    1338                (UINTN) Fragment.Len,
    1339                (CHAR8 *) Fragment.Bulk
     1367               HttpMsg->BodyLength,
     1368               HttpMsg->Body
    13401369               );
    13411370    if (EFI_ERROR (Status)) {
     
    13521381
    13531382    //
    1354     // We receive part of header of next HTTP msg.
     1383    // Check whether there is the next message header in the HttpMsg->Body.
    13551384    //
    13561385    if (HttpInstance->NextMsg != NULL) {
    1357       HttpMsg->BodyLength = MIN ((UINTN) HttpInstance->NextMsg - (UINTN) Fragment.Bulk, HttpMsg->BodyLength);
    1358       CopyMem (HttpMsg->Body, Fragment.Bulk, HttpMsg->BodyLength);
    1359 
    1360       HttpInstance->CacheLen = Fragment.Len - HttpMsg->BodyLength;
    1361       if (HttpInstance->CacheLen != 0) {
    1362         if (HttpInstance->CacheBody != NULL) {
    1363           FreePool (HttpInstance->CacheBody);
    1364         }
    1365 
    1366         HttpInstance->CacheBody = AllocateZeroPool (HttpInstance->CacheLen);
    1367         if (HttpInstance->CacheBody == NULL) {
    1368           Status = EFI_OUT_OF_RESOURCES;
    1369           goto Error2;
    1370         }
    1371 
    1372         CopyMem (HttpInstance->CacheBody, Fragment.Bulk + HttpMsg->BodyLength, HttpInstance->CacheLen);
    1373         HttpInstance->CacheOffset = 0;
    1374 
    1375         HttpInstance->NextMsg = HttpInstance->CacheBody + ((UINTN) HttpInstance->NextMsg - (UINTN) (Fragment.Bulk + HttpMsg->BodyLength));
    1376       }
    1377     } else {
    1378       HttpMsg->BodyLength = MIN (Fragment.Len, (UINT32) HttpMsg->BodyLength);
    1379       CopyMem (HttpMsg->Body, Fragment.Bulk, HttpMsg->BodyLength);
    1380       HttpInstance->CacheLen = Fragment.Len - HttpMsg->BodyLength;
    1381       if (HttpInstance->CacheLen != 0) {
    1382         if (HttpInstance->CacheBody != NULL) {
    1383           FreePool (HttpInstance->CacheBody);
    1384         }
    1385 
    1386         HttpInstance->CacheBody = AllocateZeroPool (HttpInstance->CacheLen);
    1387         if (HttpInstance->CacheBody == NULL) {
    1388           Status = EFI_OUT_OF_RESOURCES;
    1389           goto Error2;
    1390         }
    1391 
    1392         CopyMem (HttpInstance->CacheBody, Fragment.Bulk + HttpMsg->BodyLength, HttpInstance->CacheLen);
    1393         HttpInstance->CacheOffset = 0;
     1386      HttpMsg->BodyLength = HttpInstance->NextMsg - (CHAR8 *) HttpMsg->Body;
     1387    }
     1388
     1389    HttpInstance->CacheLen = Fragment.Len - HttpMsg->BodyLength;
     1390    if (HttpInstance->CacheLen != 0) {
     1391      if (HttpInstance->CacheBody != NULL) {
     1392        FreePool (HttpInstance->CacheBody);
     1393      }
     1394
     1395      HttpInstance->CacheBody = AllocateZeroPool (HttpInstance->CacheLen);
     1396      if (HttpInstance->CacheBody == NULL) {
     1397        Status = EFI_OUT_OF_RESOURCES;
     1398        goto Error2;
     1399      }
     1400
     1401      CopyMem (HttpInstance->CacheBody, Fragment.Bulk + HttpMsg->BodyLength, HttpInstance->CacheLen);
     1402      HttpInstance->CacheOffset = 0;
     1403      if (HttpInstance->NextMsg != NULL) {
     1404        HttpInstance->NextMsg = HttpInstance->CacheBody;
    13941405      }
    13951406    }
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpDxe/HttpImpl.h

    r77662 r80721  
    22  The header files of implementation of EFI_HTTP_PROTOCOL protocol interfaces.
    33
    4   Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55  (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
    66
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpDxe/HttpProto.c

    r77662 r80721  
    22  Miscellaneous routines for HttpDxe driver.
    33
    4 Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
    6 This program and the accompanying materials
    7 are licensed and made available under the terms and conditions of the BSD License
    8 which accompanies this distribution.  The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    198192  }
    199193
     194  //
     195  // Record the CallbackData data.
     196  //
     197  HttpInstance->CallbackData.Wrap = (VOID *) Wrap;
     198  HttpInstance->CallbackData.ParseData = Wrap->HttpToken->Message->Body;
     199  HttpInstance->CallbackData.ParseDataLength = Length;
     200
     201  //
     202  // Parse Body with CallbackData data.
     203  //
    200204  Status = HttpParseMessageBody (
    201205             HttpInstance->MsgParser,
     
    14771481  EFI_TCP6_IO_TOKEN             *Tx6Token;
    14781482  EFI_TCP6_PROTOCOL             *Tcp6;
    1479   UINT8                         *Buffer;
    1480   UINTN                         BufferSize;
     1483  UINT8                         *TlsRecord;
     1484  UINT16                        PayloadSize;
    14811485  NET_FRAGMENT                  TempFragment;
     1486  NET_FRAGMENT                  Fragment;
     1487  UINTN                         RecordCount;
     1488  UINTN                         RemainingLen;
    14821489
    14831490  Status                = EFI_SUCCESS;
    1484   Buffer                = NULL;
     1491  TlsRecord             = NULL;
     1492  PayloadSize           = 0;
    14851493  TempFragment.Len      = 0;
    14861494  TempFragment.Bulk     = NULL;
     1495  Fragment.Len          = 0;
     1496  Fragment.Bulk         = NULL;
     1497  RecordCount           = 0;
     1498  RemainingLen          = 0;
    14871499
    14881500  //
     
    14911503  if (HttpInstance->UseHttps) {
    14921504    //
    1493     // Build BufferOut data
    1494     //
    1495     BufferSize = sizeof (TLS_RECORD_HEADER) + TxStringLen;
    1496     Buffer     = AllocateZeroPool (BufferSize);
    1497     if (Buffer == NULL) {
     1505    // Allocate enough buffer for each TLS plaintext records.
     1506    //
     1507    TlsRecord = AllocateZeroPool (TLS_RECORD_HEADER_LENGTH + TLS_PLAINTEXT_RECORD_MAX_PAYLOAD_LENGTH);
     1508    if (TlsRecord == NULL) {
    14981509      Status = EFI_OUT_OF_RESOURCES;
    14991510      return Status;
    15001511    }
    1501     ((TLS_RECORD_HEADER *) Buffer)->ContentType = TlsContentTypeApplicationData;
    1502     ((TLS_RECORD_HEADER *) Buffer)->Version.Major = HttpInstance->TlsConfigData.Version.Major;
    1503     ((TLS_RECORD_HEADER *) Buffer)->Version.Minor = HttpInstance->TlsConfigData.Version.Minor;
    1504     ((TLS_RECORD_HEADER *) Buffer)->Length = (UINT16) (TxStringLen);
    1505     CopyMem (Buffer + sizeof (TLS_RECORD_HEADER), TxString, TxStringLen);
    1506 
    1507     //
    1508     // Encrypt Packet.
    1509     //
    1510     Status = TlsProcessMessage (
    1511                HttpInstance,
    1512                Buffer,
    1513                BufferSize,
    1514                EfiTlsEncrypt,
    1515                &TempFragment
    1516                );
    1517 
    1518     FreePool (Buffer);
    1519 
    1520     if (EFI_ERROR (Status)) {
    1521       return Status;
    1522     }
     1512
     1513    //
     1514    // Allocate enough buffer for all TLS ciphertext records.
     1515    //
     1516    RecordCount = TxStringLen / TLS_PLAINTEXT_RECORD_MAX_PAYLOAD_LENGTH + 1;
     1517    Fragment.Bulk = AllocateZeroPool (RecordCount * (TLS_RECORD_HEADER_LENGTH + TLS_CIPHERTEXT_RECORD_MAX_PAYLOAD_LENGTH));
     1518    if (Fragment.Bulk == NULL) {
     1519      Status = EFI_OUT_OF_RESOURCES;
     1520      goto ON_ERROR;
     1521    }
     1522
     1523    //
     1524    // Encrypt each TLS plaintext records.
     1525    //
     1526    RemainingLen = TxStringLen;
     1527    while (RemainingLen != 0) {
     1528      PayloadSize = (UINT16) MIN (TLS_PLAINTEXT_RECORD_MAX_PAYLOAD_LENGTH, RemainingLen);
     1529
     1530      ((TLS_RECORD_HEADER *) TlsRecord)->ContentType = TlsContentTypeApplicationData;
     1531      ((TLS_RECORD_HEADER *) TlsRecord)->Version.Major = HttpInstance->TlsConfigData.Version.Major;
     1532      ((TLS_RECORD_HEADER *) TlsRecord)->Version.Minor = HttpInstance->TlsConfigData.Version.Minor;
     1533      ((TLS_RECORD_HEADER *) TlsRecord)->Length = PayloadSize;
     1534
     1535      CopyMem (TlsRecord + TLS_RECORD_HEADER_LENGTH, TxString + (TxStringLen - RemainingLen), PayloadSize);
     1536
     1537      Status = TlsProcessMessage (
     1538                 HttpInstance,
     1539                 TlsRecord,
     1540                 TLS_RECORD_HEADER_LENGTH + PayloadSize,
     1541                 EfiTlsEncrypt,
     1542                 &TempFragment
     1543                 );
     1544      if (EFI_ERROR (Status)) {
     1545        goto ON_ERROR;
     1546      }
     1547
     1548      //
     1549      // Record the processed/encrypted Packet.
     1550      //
     1551      CopyMem (Fragment.Bulk + Fragment.Len, TempFragment.Bulk, TempFragment.Len);
     1552      Fragment.Len += TempFragment.Len;
     1553
     1554      FreePool (TempFragment.Bulk);
     1555      TempFragment.Len  = 0;
     1556      TempFragment.Bulk = NULL;
     1557
     1558      RemainingLen -= (UINTN) PayloadSize;
     1559      ZeroMem (TlsRecord, TLS_RECORD_HEADER_LENGTH + TLS_PLAINTEXT_RECORD_MAX_PAYLOAD_LENGTH);
     1560    }
     1561
     1562    FreePool (TlsRecord);
     1563    TlsRecord = NULL;
    15231564  }
    15241565
     
    15281569
    15291570    if (HttpInstance->UseHttps) {
    1530       Tx4Token->Packet.TxData->DataLength = TempFragment.Len;
    1531       Tx4Token->Packet.TxData->FragmentTable[0].FragmentLength = TempFragment.Len;
    1532       Tx4Token->Packet.TxData->FragmentTable[0].FragmentBuffer = (VOID *) TempFragment.Bulk;
     1571      Tx4Token->Packet.TxData->DataLength = Fragment.Len;
     1572      Tx4Token->Packet.TxData->FragmentTable[0].FragmentLength = Fragment.Len;
     1573      Tx4Token->Packet.TxData->FragmentTable[0].FragmentBuffer = (VOID *) Fragment.Bulk;
    15331574    } else {
    15341575      Tx4Token->Packet.TxData->DataLength = (UINT32) TxStringLen;
     
    15431584    if (EFI_ERROR (Status)) {
    15441585      DEBUG ((EFI_D_ERROR, "Transmit failed: %r\n", Status));
    1545       return Status;
     1586      goto ON_ERROR;
    15461587    }
    15471588
     
    15511592
    15521593    if (HttpInstance->UseHttps) {
    1553       Tx6Token->Packet.TxData->DataLength = TempFragment.Len;
    1554       Tx6Token->Packet.TxData->FragmentTable[0].FragmentLength = TempFragment.Len;
    1555       Tx6Token->Packet.TxData->FragmentTable[0].FragmentBuffer = (VOID *) TempFragment.Bulk;
     1594      Tx6Token->Packet.TxData->DataLength = Fragment.Len;
     1595      Tx6Token->Packet.TxData->FragmentTable[0].FragmentLength = Fragment.Len;
     1596      Tx6Token->Packet.TxData->FragmentTable[0].FragmentBuffer = (VOID *) Fragment.Bulk;
    15561597    } else {
    15571598      Tx6Token->Packet.TxData->DataLength = (UINT32) TxStringLen;
     
    15661607    if (EFI_ERROR (Status)) {
    15671608      DEBUG ((EFI_D_ERROR, "Transmit failed: %r\n", Status));
    1568       return Status;
     1609      goto ON_ERROR;
     1610    }
     1611  }
     1612
     1613  return Status;
     1614
     1615ON_ERROR:
     1616
     1617  if (HttpInstance->UseHttps) {
     1618    if (TlsRecord != NULL) {
     1619      FreePool (TlsRecord);
     1620      TlsRecord = NULL;
     1621    }
     1622
     1623    if (Fragment.Bulk != NULL) {
     1624      FreePool (Fragment.Bulk);
     1625      Fragment.Bulk = NULL;
    15691626    }
    15701627  }
     
    18521909
    18531910      //
    1854       // Append the response string.
     1911      // Append the response string along with a Null-terminator.
    18551912      //
    18561913      *BufferSize = *SizeofHeaders + Fragment.Len;
    1857       Buffer      = AllocateZeroPool (*BufferSize);
     1914      Buffer      = AllocatePool (*BufferSize + 1);
    18581915      if (Buffer == NULL) {
    18591916        Status = EFI_OUT_OF_RESOURCES;
     
    18711928        Fragment.Len
    18721929        );
     1930      *(Buffer + *BufferSize) = '\0';
    18731931      *HttpHeaders   = Buffer;
    18741932      *SizeofHeaders = *BufferSize;
     
    19512009
    19522010      //
    1953       // Append the response string.
     2011      // Append the response string along with a Null-terminator.
    19542012      //
    19552013      *BufferSize = *SizeofHeaders + Fragment.Len;
    1956       Buffer      = AllocateZeroPool (*BufferSize);
     2014      Buffer      = AllocatePool (*BufferSize + 1);
    19572015      if (Buffer == NULL) {
    19582016        Status = EFI_OUT_OF_RESOURCES;
     
    19702028        Fragment.Len
    19712029        );
     2030      *(Buffer + *BufferSize) = '\0';
    19722031      *HttpHeaders   = Buffer;
    19732032      *SizeofHeaders = *BufferSize;
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpDxe/HttpProto.h

    r77662 r80721  
    22  The header files of miscellaneous routines for HttpDxe driver.
    33
    4 Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
     4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
    6 This program and the accompanying materials
    7 are licensed and made available under the terms and conditions of the BSD License
    8 which accompanies this distribution.  The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    9286} TLS_CONFIG_DATA;
    9387
     88//
     89// Callback data for HTTP_PARSER_CALLBACK()
     90//
     91typedef struct {
     92  UINTN                         ParseDataLength;
     93  VOID                          *ParseData;
     94  VOID                          *Wrap;
     95} HTTP_CALLBACK_DATA;
     96
    9497typedef struct _HTTP_PROTOCOL {
    9598  UINT32                        Signature;
     
    150153  //
    151154  VOID                          *MsgParser;
     155  HTTP_CALLBACK_DATA            CallbackData;
    152156
    153157  EFI_HTTP_VERSION              HttpVersion;
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpDxe/HttpsSupport.c

    r77662 r80721  
    22  Miscellaneous routines specific to Https for HttpDxe driver.
    33
    4 Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
     4Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
    55(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
    6 This program and the accompanying materials
    7 are licensed and made available under the terms and conditions of the BSD License
    8 which accompanies this distribution.  The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    385379  EFI_SIGNATURE_LIST  *CertList;
    386380  EFI_SIGNATURE_DATA  *Cert;
     381  UINTN               CertArraySizeInBytes;
    387382  UINTN               CertCount;
    388383  UINT32              ItemDataSize;
     
    424419    //
    425420    // GetVariable still error or the variable is corrupted.
    426     // Fall back to the default value.
    427     //
    428     FreePool (CACert);
    429 
    430     return EFI_NOT_FOUND;
     421    //
     422    goto FreeCACert;
    431423  }
    432424
    433425  ASSERT (CACert != NULL);
     426
     427  //
     428  // Sanity check
     429  //
     430  Status = EFI_INVALID_PARAMETER;
     431  CertCount = 0;
     432  ItemDataSize = (UINT32) CACertSize;
     433  while (ItemDataSize > 0) {
     434    if (ItemDataSize < sizeof (EFI_SIGNATURE_LIST)) {
     435      DEBUG ((DEBUG_ERROR, "%a: truncated EFI_SIGNATURE_LIST header\n",
     436        __FUNCTION__));
     437      goto FreeCACert;
     438    }
     439
     440    CertList = (EFI_SIGNATURE_LIST *) (CACert + (CACertSize - ItemDataSize));
     441
     442    if (CertList->SignatureListSize < sizeof (EFI_SIGNATURE_LIST)) {
     443      DEBUG ((DEBUG_ERROR,
     444        "%a: SignatureListSize too small for EFI_SIGNATURE_LIST\n",
     445        __FUNCTION__));
     446      goto FreeCACert;
     447    }
     448
     449    if (CertList->SignatureListSize > ItemDataSize) {
     450      DEBUG ((DEBUG_ERROR, "%a: truncated EFI_SIGNATURE_LIST body\n",
     451        __FUNCTION__));
     452      goto FreeCACert;
     453    }
     454
     455    if (!CompareGuid (&CertList->SignatureType, &gEfiCertX509Guid)) {
     456      DEBUG ((DEBUG_ERROR, "%a: only X509 certificates are supported\n",
     457        __FUNCTION__));
     458      Status = EFI_UNSUPPORTED;
     459      goto FreeCACert;
     460    }
     461
     462    if (CertList->SignatureHeaderSize != 0) {
     463      DEBUG ((DEBUG_ERROR, "%a: SignatureHeaderSize must be 0 for X509\n",
     464        __FUNCTION__));
     465      goto FreeCACert;
     466    }
     467
     468    if (CertList->SignatureSize < sizeof (EFI_SIGNATURE_DATA)) {
     469      DEBUG ((DEBUG_ERROR,
     470        "%a: SignatureSize too small for EFI_SIGNATURE_DATA\n", __FUNCTION__));
     471      goto FreeCACert;
     472    }
     473
     474    CertArraySizeInBytes = (CertList->SignatureListSize -
     475                            sizeof (EFI_SIGNATURE_LIST));
     476    if (CertArraySizeInBytes % CertList->SignatureSize != 0) {
     477      DEBUG ((DEBUG_ERROR,
     478        "%a: EFI_SIGNATURE_DATA array not a multiple of SignatureSize\n",
     479        __FUNCTION__));
     480      goto FreeCACert;
     481    }
     482
     483    CertCount += CertArraySizeInBytes / CertList->SignatureSize;
     484    ItemDataSize -= CertList->SignatureListSize;
     485  }
     486  if (CertCount == 0) {
     487    DEBUG ((DEBUG_ERROR, "%a: no X509 certificates provided\n", __FUNCTION__));
     488    goto FreeCACert;
     489  }
    434490
    435491  //
     
    452508                                                 );
    453509      if (EFI_ERROR (Status)) {
    454         FreePool (CACert);
    455         return Status;
     510        goto FreeCACert;
    456511      }
    457512
     
    463518  }
    464519
     520FreeCACert:
    465521  FreePool (CACert);
     522  return Status;
     523}
     524
     525/**
     526  Read the HttpTlsCipherList variable and configure it for HTTPS session.
     527
     528  @param[in, out]  HttpInstance  The HTTP instance private data.
     529
     530  @retval EFI_SUCCESS            The prefered HTTP TLS CipherList is configured.
     531  @retval EFI_NOT_FOUND          Fail to get 'HttpTlsCipherList' variable.
     532  @retval EFI_INVALID_PARAMETER  The contents of variable are invalid.
     533  @retval EFI_OUT_OF_RESOURCES   Can't allocate memory resources.
     534
     535  @retval Others                 Other error as indicated.
     536
     537**/
     538EFI_STATUS
     539TlsConfigCipherList (
     540  IN OUT HTTP_PROTOCOL      *HttpInstance
     541  )
     542{
     543  EFI_STATUS          Status;
     544  UINT8               *CipherList;
     545  UINTN               CipherListSize;
     546
     547  CipherList     = NULL;
     548  CipherListSize = 0;
     549
     550  //
     551  // Try to read the HttpTlsCipherList variable.
     552  //
     553  Status  = gRT->GetVariable (
     554                   EDKII_HTTP_TLS_CIPHER_LIST_VARIABLE,
     555                   &gEdkiiHttpTlsCipherListGuid,
     556                   NULL,
     557                   &CipherListSize,
     558                   NULL
     559                   );
     560  ASSERT (EFI_ERROR (Status));
     561  if (Status != EFI_BUFFER_TOO_SMALL) {
     562    return Status;
     563  }
     564
     565  if (CipherListSize % sizeof (EFI_TLS_CIPHER) != 0) {
     566    return EFI_INVALID_PARAMETER;
     567  }
     568
     569  //
     570  // Allocate buffer and read the config variable.
     571  //
     572  CipherList = AllocatePool (CipherListSize);
     573  if (CipherList == NULL) {
     574    return EFI_OUT_OF_RESOURCES;
     575  }
     576
     577  Status = gRT->GetVariable (
     578                  EDKII_HTTP_TLS_CIPHER_LIST_VARIABLE,
     579                  &gEdkiiHttpTlsCipherListGuid,
     580                  NULL,
     581                  &CipherListSize,
     582                  CipherList
     583                  );
     584  if (EFI_ERROR (Status)) {
     585    //
     586    // GetVariable still error or the variable is corrupted.
     587    //
     588    goto ON_EXIT;
     589  }
     590
     591  ASSERT (CipherList != NULL);
     592
     593  Status = HttpInstance->Tls->SetSessionData (
     594                                HttpInstance->Tls,
     595                                EfiTlsCipherList,
     596                                CipherList,
     597                                CipherListSize
     598                                );
     599
     600ON_EXIT:
     601  FreePool (CipherList);
     602
    466603  return Status;
    467604}
     
    523660                                );
    524661  if (EFI_ERROR (Status)) {
     662    return Status;
     663  }
     664
     665  //
     666  // Tls Cipher List
     667  //
     668  Status = TlsConfigCipherList (HttpInstance);
     669  if (EFI_ERROR (Status) && Status != EFI_NOT_FOUND) {
     670    DEBUG ((EFI_D_ERROR, "TlsConfigCipherList: return %r error.\n", Status));
    525671    return Status;
    526672  }
     
    8621008  // Allocate buffer to receive one TLS header.
    8631009  //
    864   Len     = sizeof (TLS_RECORD_HEADER);
     1010  Len     = TLS_RECORD_HEADER_LENGTH;
    8651011  PduHdr  = NetbufAlloc (Len);
    8661012  if (PduHdr == NULL) {
     
    13031449  @param[in]           HttpInstance    Pointer to HTTP_PROTOCOL structure.
    13041450  @param[in]           Message         Pointer to the message buffer needed to processed.
     1451                                       If ProcessMode is EfiTlsEncrypt, the message contain the TLS
     1452                                       header and plain text TLS APP payload.
     1453                                       If ProcessMode is EfiTlsDecrypt, the message contain the TLS
     1454                                       header and cipher text TLS APP payload.
    13051455  @param[in]           MessageSize     Pointer to the message buffer size.
    13061456  @param[in]           ProcessMode     Process mode.
    13071457  @param[in, out]      Fragment        Only one Fragment returned after the Message is
    13081458                                       processed successfully.
     1459                                       If ProcessMode is EfiTlsEncrypt, the fragment contain the TLS
     1460                                       header and cipher text TLS APP payload.
     1461                                       If ProcessMode is EfiTlsDecrypt, the fragment contain the TLS
     1462                                       header and plain text TLS APP payload.
    13091463
    13101464  @retval EFI_SUCCESS          Message is processed successfully.
     
    14091563
    14101564  if (OriginalFragmentTable != NULL) {
     1565    if( FragmentTable == OriginalFragmentTable) {
     1566      FragmentTable = NULL;
     1567    }
    14111568    FreePool (OriginalFragmentTable);
    14121569    OriginalFragmentTable = NULL;
     
    15931750    }
    15941751
    1595     CopyMem (BufferIn, TempFragment.Bulk + sizeof (TLS_RECORD_HEADER), BufferInSize);
     1752    CopyMem (BufferIn, TempFragment.Bulk + TLS_RECORD_HEADER_LENGTH, BufferInSize);
    15961753
    15971754    //
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpDxe/HttpsSupport.h

    r77662 r80721  
    22  The header files of miscellaneous routines specific to Https for HttpDxe driver.
    33
    4 Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
     
    219213  @param[in]           HttpInstance    Pointer to HTTP_PROTOCOL structure.
    220214  @param[in]           Message         Pointer to the message buffer needed to processed.
     215                                       If ProcessMode is EfiTlsEncrypt, the message contain the TLS
     216                                       header and plain text TLS APP payload.
     217                                       If ProcessMode is EfiTlsDecrypt, the message contain the TLS
     218                                       header and cipher text TLS APP payload.
    221219  @param[in]           MessageSize     Pointer to the message buffer size.
    222220  @param[in]           ProcessMode     Process mode.
    223221  @param[in, out]      Fragment        Only one Fragment returned after the Message is
    224222                                       processed successfully.
     223                                       If ProcessMode is EfiTlsEncrypt, the fragment contain the TLS
     224                                       header and cipher text TLS APP payload.
     225                                       If ProcessMode is EfiTlsDecrypt, the fragment contain the TLS
     226                                       header and plain text TLS APP payload.
    225227
    226228  @retval EFI_SUCCESS          Message is processed successfully.
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.c

    r77662 r80721  
    22  The DriverEntryPoint and Unload for HttpUtilities driver.
    33
    4   Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.h

    r77662 r80721  
    55  (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
    66
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf

    r77662 r80721  
    55#  (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
    66#
    7 #  This program and the accompanying materials
    8 #  are licensed and made available under the terms and conditions of the BSD License
    9 #  which accompanies this distribution. The full text of the license may be found at
    10 #  http://opensource.org/licenses/bsd-license.php.
    11 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7#  SPDX-License-Identifier: BSD-2-Clause-Patent
    138#
    149#
     
    2823  MdePkg/MdePkg.dec
    2924  MdeModulePkg/MdeModulePkg.dec
     25  NetworkPkg/NetworkPkg.dec
    3026
    3127[Sources]
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.uni

    r77662 r80721  
    33//
    44// This module produces Http Utilities Protocol.
    5 //
    65//
    7 // Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
    86//
    9 // This program and the accompanying materials
    10 // are licensed and made available under the terms and conditions of the BSD License
    11 // which accompanies this distribution. The full text of the license may be found at
    12 // http://opensource.org/licenses/bsd-license.php.
    13 //
    14 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    15 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7// Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
     8//
     9// SPDX-License-Identifier: BSD-2-Clause-Patent
    1610//
    1711// **/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxeExtra.uni

    r77662 r80721  
    22// HttpUtilitiesDxe Localized Strings and Content
    33//
    4 // Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
     4// Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55//
    6 // This program and the accompanying materials
    7 // are licensed and made available under the terms and conditions of the BSD License
    8 // which accompanies this distribution. The full text of the license may be found at
    9 // http://opensource.org/licenses/bsd-license.php.
    10 //
    11 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6// SPDX-License-Identifier: BSD-2-Clause-Patent
    137//
    148// **/
    159
    16 #string STR_PROPERTIES_MODULE_NAME 
    17 #language en-US 
     10#string STR_PROPERTIES_MODULE_NAME
     11#language en-US
    1812"UEFI HTTP UTILITIES DXE"
    1913
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesProtocol.c

    r77662 r80721  
    22  Implementation of EFI_HTTP_PROTOCOL protocol interfaces.
    33
    4   Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
    55  (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    299293  CHAR8                     *FieldValue;
    300294  UINTN                     Index;
     295  UINTN                     HttpBufferSize;
    301296
    302297  Status          = EFI_SUCCESS;
     
    312307  }
    313308
    314   TempHttpMessage = AllocateZeroPool (HttpMessageSize);
     309  //
     310  // Append the http response string along with a Null-terminator.
     311  //
     312  HttpBufferSize = HttpMessageSize + 1;
     313  TempHttpMessage = AllocatePool (HttpBufferSize);
    315314  if (TempHttpMessage == NULL) {
    316315    return EFI_OUT_OF_RESOURCES;
     
    318317
    319318  CopyMem (TempHttpMessage, HttpMessage, HttpMessageSize);
     319  *(TempHttpMessage + HttpMessageSize) = '\0';
    320320
    321321  //
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/ComponentName.c

    r58466 r80721  
    22  UEFI Component Name(2) protocol implementation for iSCSI.
    33
    4 Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiAuthenticationInfo.c

    r48674 r80721  
    44
    55Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
    6 This program and the accompanying materials
    7 are licensed and made available under the terms and conditions of the BSD License
    8 which accompanies this distribution.  The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiCHAP.c

    r77662 r80721  
    22  This file is for Challenge-Handshake Authentication Protocol (CHAP) Configuration.
    33
    4 Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiCHAP.h

    r58466 r80721  
    22  The header file of CHAP configuration.
    33
    4 Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiConfig.c

    r77662 r80721  
    22  Helper functions for configuring or getting the parameters relating to iSCSI.
    33
    4 Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
     
    1610
    1711CHAR16          mVendorStorageName[]     = L"ISCSI_CONFIG_IFR_NVDATA";
    18 BOOLEAN         mIScsiDeviceListUpdated  = FALSE;
    19 UINTN           mNumberOfIScsiDevices    = 0;
    2012ISCSI_FORM_CALLBACK_INFO  *mCallbackInfo = NULL;
    2113
     
    22952287
    22962288    AttemptConfigData = NET_LIST_USER_STRUCT (Entry, ISCSI_ATTEMPT_CONFIG_NVDATA, Link);
    2297     if (AttemptConfigData == NULL) {
    2298       Status = EFI_NOT_FOUND;
    2299       goto Error;
    2300     }
    23012289
    23022290    //
     
    36023590
    36033591        if(!NicInfo->Ipv6Available) {
    3604               //
     3592          //
    36053593          // Current NIC doesn't Support IPv6, hence use IPv4.
    36063594          //
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiConfig.h

    r77662 r80721  
    44
    55Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
    6 This program and the accompanying materials
    7 are licensed and made available under the terms and conditions of the BSD License
    8 which accompanies this distribution.  The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiConfigNVDataStruc.h

    r77662 r80721  
    33
    44Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiConfigStrings.uni

    r77662 r80721  
    11// *++
    22//
    3 // Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
    4 // This program and the accompanying materials
    5 // are licensed and made available under the terms and conditions of the BSD License
    6 // which accompanies this distribution.  The full text of the license may be found at
    7 // http://opensource.org/licenses/bsd-license.php
    8 //
    9 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    10 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     3// Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
     4// SPDX-License-Identifier: BSD-2-Clause-Patent
    115//
    126// Module Name:
     
    2721#langdef x-UEFI-ns "UefiNameSpace"
    2822
    29 #string STR_ISCSI_CONFIG_FORM_TITLE     #language en-US "iSCSI Configuration" 
    30 #string STR_ISCSI_CONFIG_FORM_HELP      #language en-US "Configure the iSCSI parameters."   
     23#string STR_ISCSI_CONFIG_FORM_TITLE     #language en-US "iSCSI Configuration"
     24#string STR_ISCSI_CONFIG_FORM_HELP      #language en-US "Configure the iSCSI parameters."
    3125#string STR_ISCSI_MAIN_FORM_TITLE       #language en-US "iSCSI Configuration"
    3226#string STR_ISCSI_MAC_FORM_TITLE        #language en-US "MAC Selection"
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiConfigVfr.vfr

    r77662 r80721  
    22  VFR file used by the iSCSI configuration component.
    33
    4 Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiDhcp.c

    r77662 r80721  
    22  iSCSI DHCP4 related configuration routines.
    33
    4 Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiDhcp.h

    r77662 r80721  
    33
    44Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiDhcp6.c

    r77662 r80721  
    22  iSCSI DHCP6 related configuration routines.
    33
    4 Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiDhcp6.h

    r77662 r80721  
    33
    44Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiDns.c

    r77662 r80721  
    33
    44Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiDns.h

    r77662 r80721  
    33 resolution based on UEFI DNS protocols.
    44
    5 Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
    6 This program and the accompanying materials
    7 are licensed and made available under the terms and conditions of the BSD License
    8 which accompanies this distribution.  The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.<BR>
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiDriver.c

    r77662 r80721  
    22  The entry point of IScsi driver.
    33
    4 Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
     4Copyright (c) 2019, NVIDIA Corporation. All rights reserved.
     5Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
    56(C) Copyright 2017 Hewlett Packard Enterprise Development LP<BR>
    67
    7 This program and the accompanying materials
    8 are licensed and made available under the terms and conditions of the BSD License
    9 which accompanies this distribution.  The full text of the license may be found at
    10 http://opensource.org/licenses/bsd-license.php
    11 
    12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     8SPDX-License-Identifier: BSD-2-Clause-Patent
    149
    1510**/
     
    18621857
    18631858Error2:
    1864   gBS->UninstallMultipleProtocolInterfaces (
    1865          gIScsiIp6DriverBinding.DriverBindingHandle,
    1866          &gEfiDriverBindingProtocolGuid,
    1867          &gIScsiIp6DriverBinding,
    1868          &gEfiComponentName2ProtocolGuid,
    1869          &gIScsiComponentName2,
    1870          &gEfiComponentNameProtocolGuid,
    1871          &gIScsiComponentName,
    1872          NULL
    1873          );
     1859  EfiLibUninstallDriverBindingComponentName2 (
     1860    &gIScsiIp6DriverBinding,
     1861    &gIScsiComponentName,
     1862    &gIScsiComponentName2
     1863    );
    18741864
    18751865Error1:
    1876   gBS->UninstallMultipleProtocolInterfaces (
    1877          ImageHandle,
    1878          &gEfiDriverBindingProtocolGuid,
    1879          &gIScsiIp4DriverBinding,
    1880          &gEfiComponentName2ProtocolGuid,
    1881          &gIScsiComponentName2,
    1882          &gEfiComponentNameProtocolGuid,
    1883          &gIScsiComponentName,
    1884          NULL
    1885          );
     1866  EfiLibUninstallDriverBindingComponentName2 (
     1867    &gIScsiIp4DriverBinding,
     1868    &gIScsiComponentName,
     1869    &gIScsiComponentName2
     1870    );
    18861871
    18871872  return Status;
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiDriver.h

    r77662 r80721  
    22  The header file of IScsiDriver.c.
    33
    4 Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
     4Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
    55(C) Copyright 2017 Hewlett Packard Enterprise Development LP<BR>
    66
    7 This program and the accompanying materials
    8 are licensed and made available under the terms and conditions of the BSD License
    9 which accompanies this distribution.  The full text of the license may be found at
    10 http://opensource.org/licenses/bsd-license.php
    11 
    12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiDxe.inf

    r77662 r80721  
    33#
    44#  The iSCSI driver provides iSCSI service in the preboot environment and supports
    5 #  booting over iSCSI.
     5#  booting over iSCSI. This driver supports both IPv4 and IPv6 network stack.
    66#
    7 # Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
    8 # This program and the accompanying materials
    9 # are licensed and made available under the terms and conditions of the BSD License
    10 # which accompanies this distribution.  The full text of the license may be found at
    11 # http://opensource.org/licenses/bsd-license.php
    12 #
    13 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    14 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7# Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
     8# SPDX-License-Identifier: BSD-2-Clause-Patent
    159#
    1610##
     
    2923# The following information is for reference only and not required by the build tools.
    3024#
    31 #  VALID_ARCHITECTURES           = IA32 X64 IPF
     25#  VALID_ARCHITECTURES           = IA32 X64
    3226#
    3327#  DRIVER_BINDING                =  gIScsiDriverBinding
     
    125119  gEfiAcpiTableGuid                             ## SOMETIMES_CONSUMES ## SystemTable
    126120  gEfiAcpi10TableGuid                           ## SOMETIMES_CONSUMES ## SystemTable
    127   gEfiAcpi20TableGuid                           ## SOMETIMES_CONSUMES ## SystemTable
    128121  gEfiAdapterInfoNetworkBootGuid                ## SOMETIMES_CONSUMES ## UNDEFINED
    129122  gEfiAdapterInfoUndiIpv6SupportGuid            ## SOMETIMES_CONSUMES ## GUID
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiDxe.uni

    r77662 r80721  
    55// booting over iSCSI.
    66//
    7 // Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
     7// Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
    88//
    9 // This program and the accompanying materials
    10 // are licensed and made available under the terms and conditions of the BSD License
    11 // which accompanies this distribution.  The full text of the license may be found at
    12 // http://opensource.org/licenses/bsd-license.php
    13 //
    14 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    15 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     9// SPDX-License-Identifier: BSD-2-Clause-Patent
    1610//
    1711// **/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiDxeExtra.uni

    r77662 r80721  
    22// IScsiDxe Localized Strings and Content
    33//
    4 // Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
     4// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
    55//
    6 // This program and the accompanying materials
    7 // are licensed and made available under the terms and conditions of the BSD License
    8 // which accompanies this distribution.  The full text of the license may be found at
    9 // http://opensource.org/licenses/bsd-license.php
    10 //
    11 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6// SPDX-License-Identifier: BSD-2-Clause-Patent
    137//
    148// **/
    159
    1610#string STR_PROPERTIES_MODULE_NAME
    17 #language en-US 
     11#language en-US
    1812"iSCSI DXE"
    1913
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiExtScsiPassThru.c

    r77662 r80721  
    22  The implementation of EFI_EXT_SCSI_PASS_THRU_PROTOCOL.
    33
    4 Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiIbft.c

    r77662 r80721  
    22  Implementation for iSCSI Boot Firmware Table publication.
    33
    4 Copyright (c) 2004 - 2013, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiIbft.h

    r58466 r80721  
    22  Some extra definitions for iBFT.
    33
    4 Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiImpl.h

    r77662 r80721  
    22  The shared head file for iSCSI driver.
    33
    4 Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiInitiatorName.c

    r48674 r80721  
    33
    44Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiMisc.c

    r77662 r80721  
    33
    44Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
     
    617611      mPrivate->CurrentNic = NicInfo->NicIndex;
    618612
    619             //
     613      //
    620614      // Set IPv6 available flag.
    621615      //
     
    846840    FreePool (AttemptConfigOrder);
    847841    if (EFI_ERROR (Status)) {
     842      DEBUG ((DEBUG_ERROR,
     843        "%a: Failed to set 'InitialAttemptOrder' with Guid (%g): "
     844        "%r\n",
     845        __FUNCTION__, &gIScsiConfigGuid, Status));
    848846      return Status;
    849847    }
     
    888886    FreePool (AttemptConfigData);
    889887    if (EFI_ERROR (Status)) {
     888        DEBUG ((DEBUG_ERROR,
     889          "%a: Failed to set variable (mPrivate->PortString) with Guid (%g): "
     890          "%r\n",
     891          __FUNCTION__, &gEfiIScsiInitiatorNameProtocolGuid, Status));
    890892      return Status;
    891893    }
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiMisc.h

    r77662 r80721  
    22  Miscellaneous definitions for iSCSI driver.
    33
    4 Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiProto.c

    r77662 r80721  
    22  The implementation of iSCSI protocol based on RFC3720.
    33
    4 Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
     
    20982092
    20992093/**
    2100   Find the task control block by the initator task tag.
    2101 
    2102   @param[in]  TcbList         The tcb list.
    2103   @param[in]  InitiatorTaskTag The initiator task tag.
    2104 
    2105   @return The task control block found.
    2106   @retval NULL The task control block cannot be found.
    2107 
    2108 **/
    2109 ISCSI_TCB *
    2110 IScsiFindTcbByITT (
    2111   IN LIST_ENTRY      *TcbList,
    2112   IN UINT32          InitiatorTaskTag
    2113   )
    2114 {
    2115   ISCSI_TCB       *Tcb;
    2116   LIST_ENTRY      *Entry;
    2117 
    2118   Tcb = NULL;
    2119 
    2120   NET_LIST_FOR_EACH (Entry, TcbList) {
    2121     Tcb = NET_LIST_USER_STRUCT (Entry, ISCSI_TCB, Link);
    2122 
    2123     if (Tcb->InitiatorTaskTag == InitiatorTaskTag) {
    2124       break;
    2125     }
    2126   }
    2127 
    2128   return Tcb;
    2129 }
    2130 
    2131 
    2132 /**
    21332094  Create a data segment, pad it, and calculate the CRC if needed.
    21342095
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/IScsiDxe/IScsiProto.h

    r77662 r80721  
    22  The header file of iSCSI Protocol that defines many specific data structures.
    33
    4 Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Include/Guid/HttpBootConfigHii.h

    r77662 r80721  
    22  GUIDs used as HII FormSet and HII Package list GUID in HTTP boot driver.
    33
    4 Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials are licensed and made available under
    6 the terms and conditions of the BSD License that accompanies this distribution.
    7 The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php.
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Include/Guid/IScsiConfigHii.h

    r58466 r80721  
    33  that supports IP4 and IP6 both.
    44
    5 Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
    6 This program and the accompanying materials are licensed and made available under
    7 the terms and conditions of the BSD License that accompanies this distribution.
    8 The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php.
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Include/Guid/Ip6ConfigHii.h

    r58466 r80721  
    22  GUIDs used as HII FormSet and HII Package list GUID in Ip6Config driver.
    33
    4 Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials are licensed and made available under
    6 the terms and conditions of the BSD License that accompanies this distribution.
    7 The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php.
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Include/Guid/TlsAuthConfigHii.h

    r77662 r80721  
    33
    44Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials are licensed and made available under
    6 the terms and conditions of the BSD License that accompanies this distribution.
    7 The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php.
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Include/Guid/TlsAuthentication.h

    r77662 r80721  
    33
    44Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials are licensed and made available under
    6 the terms and conditions of the BSD License that accompanies this distribution.
    7 The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php.
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/ComponentName.c

    r77662 r80721  
    33  EFI_COMPONENT_NAME2_PROTOCOL protocol.
    44
    5   Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    6 
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     6
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Common.c

    r77662 r80721  
    22  The implementation of common functions shared by IP6 driver.
    33
    4   Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Common.h

    r58459 r80721  
    44  Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Config.vfr

    r77662 r80721  
    44  Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6ConfigImpl.c

    r77662 r80721  
    22  The implementation of EFI IPv6 Configuration Protocol.
    33
    4   Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6ConfigImpl.h

    r77662 r80721  
    22  Definitions for EFI IPv6 Configuartion Protocol implementation.
    33
    4   Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6ConfigNv.c

    r58466 r80721  
    22  Helper functions for configuring or obtaining the parameters relating to IP6.
    33
    4   Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6ConfigNv.h

    r48674 r80721  
    44  Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Driver.c

    r77662 r80721  
    22  The driver binding and service binding protocol for IP6 driver.
    33
    4   Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2009 - 2019, Intel Corporation. All rights reserved.<BR>
    55  (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
    66
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
     
    565559                  );
    566560  if (EFI_ERROR (Status)) {
    567     goto ON_ERROR;
     561    goto FREE_SERVICE;
    568562  }
    569563
     
    574568  Status = Ip6ConfigReadConfigData (IpSb->MacString, &IpSb->Ip6ConfigInstance);
    575569  if (EFI_ERROR (Status)) {
    576     goto ON_ERROR;
     570    goto UNINSTALL_PROTOCOL;
    577571  }
    578572
     
    588582                       DataItem->Data.Ptr
    589583                       );
    590     if (EFI_ERROR(Status) && Status != EFI_NOT_READY) {
    591       goto ON_ERROR;
     584    if (Status == EFI_INVALID_PARAMETER || Status == EFI_BAD_BUFFER_SIZE) {
     585      //
     586      // Clean the invalid ManualAddress configuration.
     587      //
     588      Status = Ip6Cfg->SetData (
     589                         Ip6Cfg,
     590                         Ip6ConfigDataTypeManualAddress,
     591                         0,
     592                         NULL
     593                         );
     594      DEBUG ((EFI_D_WARN, "Ip6DriverBindingStart: Clean the invalid ManualAddress configuration.\n"));
    592595    }
    593596  }
     
    604607                       DataItem->Data.Ptr
    605608                       );
    606     if (EFI_ERROR(Status)) {
    607       goto ON_ERROR;
     609    if (Status == EFI_INVALID_PARAMETER || Status == EFI_BAD_BUFFER_SIZE) {
     610      //
     611      // Clean the invalid Gateway configuration.
     612      //
     613      Status = Ip6Cfg->SetData (
     614                         Ip6Cfg,
     615                         Ip6ConfigDataTypeGateway,
     616                         0,
     617                         NULL
     618                         );
     619      DEBUG ((EFI_D_WARN, "Ip6DriverBindingStart: Clean the invalid Gateway configuration.\n"));
    608620    }
    609621  }
     
    614626  Status = Ip6ReceiveFrame (Ip6AcceptFrame, IpSb);
    615627  if (EFI_ERROR (Status)) {
    616     goto ON_ERROR;
     628    goto UNINSTALL_PROTOCOL;
    617629  }
    618630
     
    626638                  );
    627639  if (EFI_ERROR (Status)) {
    628     goto ON_ERROR;
     640    goto UNINSTALL_PROTOCOL;
    629641  }
    630642
     
    638650                  );
    639651  if (EFI_ERROR (Status)) {
    640     goto ON_ERROR;
     652    goto UNINSTALL_PROTOCOL;
    641653  }
    642654
     
    648660  return EFI_SUCCESS;
    649661
    650 ON_ERROR:
     662UNINSTALL_PROTOCOL:
     663  gBS->UninstallMultipleProtocolInterfaces (
     664         ControllerHandle,
     665         &gEfiIp6ServiceBindingProtocolGuid,
     666         &IpSb->ServiceBinding,
     667         &gEfiIp6ConfigProtocolGuid,
     668         Ip6Cfg,
     669         NULL
     670         );
     671
     672FREE_SERVICE:
    651673  Ip6CleanService (IpSb);
    652674  FreePool (IpSb);
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Driver.h

    r77662 r80721  
    44  Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Dxe.inf

    r77662 r80721  
    88#  the EFI IPv6 network stack.
    99#
    10 #  Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
     10#  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    1111#
    12 #  This program and the accompanying materials
    13 #  are licensed and made available under the terms and conditions of the BSD License
    14 #  which accompanies this distribution. The full text of the license may be found at
    15 #  http://opensource.org/licenses/bsd-license.php.
    16 #
    17 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    18 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12#  SPDX-License-Identifier: BSD-2-Clause-Patent
    1913#
    2014##
     
    3327# The following information is for reference only and not required by the build tools.
    3428#
    35 #  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
     29#  VALID_ARCHITECTURES           = IA32 X64 EBC
    3630#
    3731#  DRIVER_BINDING                =  gIp6DriverBinding
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Dxe.uni

    r77662 r80721  
    88// the EFI IPv6 network stack.
    99//
    10 // Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
     10// Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    1111//
    12 // This program and the accompanying materials
    13 // are licensed and made available under the terms and conditions of the BSD License
    14 // which accompanies this distribution. The full text of the license may be found at
    15 // http://opensource.org/licenses/bsd-license.php.
    16 //
    17 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    18 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12// SPDX-License-Identifier: BSD-2-Clause-Patent
    1913//
    2014// **/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6DxeExtra.uni

    r77662 r80721  
    22// Ip6Dxe Localized Strings and Content
    33//
    4 // Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
     4// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
    55//
    6 // This program and the accompanying materials
    7 // are licensed and made available under the terms and conditions of the BSD License
    8 // which accompanies this distribution. The full text of the license may be found at
    9 // http://opensource.org/licenses/bsd-license.php.
    10 //
    11 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6// SPDX-License-Identifier: BSD-2-Clause-Patent
    137//
    148// **/
    159
    16 #string STR_PROPERTIES_MODULE_NAME 
    17 #language en-US 
     10#string STR_PROPERTIES_MODULE_NAME
     11#language en-US
    1812"Ip6 DXE"
    1913
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6DxeStrings.uni

    r77662 r80721  
    44  Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Icmp.c

    r77662 r80721  
    22  The ICMPv6 handle routines to process the ICMPv6 control messages.
    33
    4   Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    55  (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
    66
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Icmp.h

    r48674 r80721  
    44  Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6If.c

    r58466 r80721  
    22  Implement IP6 pesudo interface.
    33
    4   Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6If.h

    r48674 r80721  
    44  Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Impl.c

    r77662 r80721  
    55  Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    66
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Impl.h

    r77662 r80721  
    55  (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
    66
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Input.c

    r77662 r80721  
    22  IP6 internal functions to process the incoming packets.
    33
    4   Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    55  (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
    66
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Input.h

    r48674 r80721  
    44  Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Mld.c

    r48674 r80721  
    44  Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Mld.h

    r48674 r80721  
    44  Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Nd.c

    r77662 r80721  
    22  Implementation of Neighbor Discovery support routines.
    33
    4   Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Nd.h

    r58459 r80721  
    44  Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6NvData.h

    r58459 r80721  
    44  Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Option.c

    r77662 r80721  
    44  Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Option.h

    r77662 r80721  
    44  Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Output.c

    r77662 r80721  
    44  Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Output.h

    r48674 r80721  
    44  Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Route.c

    r77662 r80721  
    44  Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Route.h

    r48674 r80721  
    44  Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Mtftp6Dxe/ComponentName.c

    r58466 r80721  
    22  UEFI Component Name(2) protocol implementation for Mtftp6 driver.
    33
    4   Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Mtftp6Dxe/Mtftp6Driver.c

    r58466 r80721  
    33  implementation for Mtftp6 Driver.
    44
    5   Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
    6 
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     6
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Mtftp6Dxe/Mtftp6Driver.h

    r58459 r80721  
    55  Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
    66
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf

    r58459 r80721  
    55#  client-side unicast and/or multicast TFTP.
    66#
    7 #  Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
     7#  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    88#
    9 #  This program and the accompanying materials
    10 #  are licensed and made available under the terms and conditions of the BSD License
    11 #  which accompanies this distribution. The full text of the license may be found at
    12 #  http://opensource.org/licenses/bsd-license.php.
    13 #
    14 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    15 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     9#  SPDX-License-Identifier: BSD-2-Clause-Patent
    1610#
    1711##
     
    3024# The following information is for reference only and not required by the build tools.
    3125#
    32 #  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
     26#  VALID_ARCHITECTURES           = IA32 X64 EBC
    3327#
    3428#  DRIVER_BINDING                =  gMtftp6DriverBinding
     
    5448  MdePkg/MdePkg.dec
    5549  MdeModulePkg/MdeModulePkg.dec
     50  NetworkPkg/NetworkPkg.dec
    5651
    5752
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.uni

    r77662 r80721  
    55// client-side unicast and/or multicast TFTP.
    66//
    7 // Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
     7// Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    88//
    9 // This program and the accompanying materials
    10 // are licensed and made available under the terms and conditions of the BSD License
    11 // which accompanies this distribution. The full text of the license may be found at
    12 // http://opensource.org/licenses/bsd-license.php.
    13 //
    14 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    15 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     9// SPDX-License-Identifier: BSD-2-Clause-Patent
    1610//
    1711// **/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Mtftp6Dxe/Mtftp6DxeExtra.uni

    r77662 r80721  
    44// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
    55//
    6 // This program and the accompanying materials
    7 // are licensed and made available under the terms and conditions of the BSD License
    8 // which accompanies this distribution. The full text of the license may be found at
    9 // http://opensource.org/licenses/bsd-license.php.
    10 //
    11 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6// SPDX-License-Identifier: BSD-2-Clause-Patent
    137//
    148// **/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Mtftp6Dxe/Mtftp6Impl.c

    r58459 r80721  
    1111  Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
    1212
    13   This program and the accompanying materials
    14   are licensed and made available under the terms and conditions of the BSD License
    15   which accompanies this distribution.  The full text of the license may be found at
    16   http://opensource.org/licenses/bsd-license.php.
    17 
    18   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    19   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     13  SPDX-License-Identifier: BSD-2-Clause-Patent
    2014
    2115**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Mtftp6Dxe/Mtftp6Impl.h

    r58459 r80721  
    22  Mtftp6 internal data structure and definition declaration.
    33
    4   Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved. <BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved. <BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    4741#define MTFTP6_DEFAULT_MAX_RETRY       5
    4842#define MTFTP6_DEFAULT_BLK_SIZE        512
     43#define MTFTP6_DEFAULT_WINDOWSIZE      1
    4944#define MTFTP6_TICK_PER_SECOND         10000000U
    5045
     
    7772  UINT16                        LastBlk;
    7873  LIST_ENTRY                    BlkList;
     74
     75  UINT16                        Operation;
     76
     77  UINT16                        WindowSize;
     78
     79  //
     80  // Record the total received and saved block number.
     81  //
     82  UINT64                        TotalBlock;
     83
     84  //
     85  // Record the acked block number.
     86  //
     87  UINT64                        AckedBlock;
    7988
    8089  EFI_IPv6_ADDRESS              ServerIp;
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Mtftp6Dxe/Mtftp6Option.c

    r48674 r80721  
    22  Mtftp6 option parse functions implementation.
    33
    4   Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    1812CHAR8 *mMtftp6SupportedOptions[MTFTP6_SUPPORTED_OPTIONS_NUM] = {
    1913  "blksize",
     14  "windowsize",
    2015  "timeout",
    2116  "tsize",
     
    147142  @param[in]  IsRequest     If FALSE, the extension options is included
    148143                            by a request packet.
     144  @param[in]  Operation     The current performed operation.
    149145  @param[in]  ExtInfo       The pointer to the option information to be filled.
    150146
     
    159155  IN UINT32                   Count,
    160156  IN BOOLEAN                  IsRequest,
     157  IN UINT16                   Operation,
    161158  IN MTFTP6_EXT_OPTION_INFO   *ExtInfo
    162159  )
     
    228225
    229226      ExtInfo->BitMap |= MTFTP6_OPT_MCAST_BIT;
     227
     228    } else if (AsciiStriCmp ((CHAR8 *) Opt->OptionStr, "windowsize") == 0) {
     229      if (Operation == EFI_MTFTP6_OPCODE_WRQ) {
     230        //
     231        // Currently, windowsize is not supported in the write operation.
     232        //
     233        return EFI_UNSUPPORTED;
     234      }
     235
     236      Value = (UINT32) AsciiStrDecimalToUintn ((CHAR8 *) Opt->ValueStr);
     237
     238      if ((Value < 1)) {
     239        return EFI_INVALID_PARAMETER;
     240      }
     241
     242      ExtInfo->WindowSize = (UINT16) Value;
     243      ExtInfo->BitMap |= MTFTP6_OPT_WINDOWSIZE_BIT;
    230244
    231245    } else if (IsRequest) {
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Mtftp6Dxe/Mtftp6Option.h

    r48674 r80721  
    22  Mtftp6 option parse functions declaration.
    33
    4   Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    2721#include <Library/UefiRuntimeServicesTableLib.h>
    2822
    29 #define MTFTP6_SUPPORTED_OPTIONS_NUM  4
     23#define MTFTP6_SUPPORTED_OPTIONS_NUM  5
    3024#define MTFTP6_OPCODE_LEN             2
    3125#define MTFTP6_ERRCODE_LEN            2
     
    4034#define MTFTP6_OPT_TSIZE_BIT          0x04
    4135#define MTFTP6_OPT_MCAST_BIT          0x08
     36#define MTFTP6_OPT_WINDOWSIZE_BIT     0X10
    4237
    4338extern CHAR8 *mMtftp6SupportedOptions[MTFTP6_SUPPORTED_OPTIONS_NUM];
     
    4540typedef struct {
    4641  UINT16                    BlkSize;
     42  UINT16                    WindowSize;
    4743  UINT8                     Timeout;
    4844  UINT32                    Tsize;
     
    7773  @param[in]  IsRequest     If FALSE, the extension options is included
    7874                            by a request packet.
     75  @param[in]  Operation     The current performed operation.
    7976  @param[in]  ExtInfo       The pointer to the option information to be filled.
    8077
    81   @retval EFI_SUCCESS            Parse the multi-cast option successfully.
    82   @retval EFI_INVALID_PARAMETER  An option is malformatted.
    83   @retval EFI_UNSUPPORTED        An option is not supported.
     78  @retval EFI_SUCCESS            Parse the multicast option successfully.
     79  @retval EFI_INVALID_PARAMETER  There is one option is malformatted at least.
     80  @retval EFI_UNSUPPORTED        There is one option is not supported at least.
    8481
    8582**/
     
    8986  IN UINT32                   Count,
    9087  IN BOOLEAN                  IsRequest,
     88  IN UINT16                   Operation,
    9189  IN MTFTP6_EXT_OPTION_INFO   *ExtInfo
    9290  );
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Mtftp6Dxe/Mtftp6Rrq.c

    r58459 r80721  
    22  Mtftp6 Rrq process functions implementation.
    33
    4   Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    3630  EFI_MTFTP6_PACKET         *Ack;
    3731  NET_BUF                   *Packet;
     32  EFI_STATUS                Status;
     33
     34  Status = EFI_SUCCESS;
    3835
    3936  //
     
    6259  Instance->LastPacket = Packet;
    6360
    64   return Mtftp6TransmitPacket (Instance, Packet);
     61  Status = Mtftp6TransmitPacket (Instance, Packet);
     62  if (!EFI_ERROR (Status)) {
     63    Instance->AckedBlock = Instance->TotalBlock;
     64  }
     65
     66  return Status;
    6567}
    6668
     
    9597  UINT64                    Start;
    9698  UINT32                    DataLen;
    97   UINT64                    TotalBlock;
     99  UINT64                    BlockCounter;
    98100  BOOLEAN                   Completed;
    99101
     
    116118  // returns EFI_NOT_FOUND, the block has been saved, don't save it again.
    117119  // Note that : For bigger files, allowing the block counter to roll over
    118   // to accept transfers of unlimited size. So TotalBlock is memorised as
     120  // to accept transfers of unlimited size. So BlockCounter is memorised as
    119121  // continuous block counter.
    120122  //
    121   Status = Mtftp6RemoveBlockNum (&Instance->BlkList, Block, Completed, &TotalBlock);
     123  Status = Mtftp6RemoveBlockNum (&Instance->BlkList, Block, Completed, &BlockCounter);
    122124
    123125  if (Status == EFI_NOT_FOUND) {
     
    155157  if (Token->Buffer != NULL) {
    156158
    157     Start = MultU64x32 (TotalBlock - 1, Instance->BlkSize);
     159    Start = MultU64x32 (BlockCounter - 1, Instance->BlkSize);
    158160    if (Start + DataLen <= Token->BufferSize) {
    159161      CopyMem ((UINT8 *) Token->Buffer + Start, Packet->Data.Data, DataLen);
     
    225227
    226228  *IsCompleted = FALSE;
     229  Status       = EFI_SUCCESS;
    227230  BlockNum     = NTOHS (Packet->Data.Block);
    228231  Expected     = Mtftp6GetNextBlockNum (&Instance->BlkList);
     
    231234
    232235  //
    233   // If we are active and received an unexpected packet, retransmit
    234   // the last ACK then restart receiving. If we are passive, save
    235   // the block.
     236  // If we are active (Master) and received an unexpected packet, transmit
     237  // the ACK for the block we received, then restart receiving the
     238  // expected one. If we are passive (Slave), save the block.
    236239  //
    237240  if (Instance->IsMaster && (Expected != BlockNum)) {
     
    243246    *UdpPacket = NULL;
    244247
    245     Mtftp6TransmitPacket (Instance, Instance->LastPacket);
    246     return EFI_SUCCESS;
     248    //
     249    // If Expected is 0, (UINT16) (Expected - 1) is also the expected Ack number (65535).
     250    //
     251    return Mtftp6RrqSendAck (Instance,  (UINT16) (Expected - 1));
    247252  }
    248253
     
    252257    return Status;
    253258  }
     259
     260  //
     261  // Record the total received and saved block number.
     262  //
     263  Instance->TotalBlock ++;
    254264
    255265  //
     
    289299    *UdpPacket = NULL;
    290300
    291     Mtftp6RrqSendAck (Instance, BlockNum);
    292   }
    293 
    294   return EFI_SUCCESS;
     301    if (Instance->WindowSize == (Instance->TotalBlock - Instance->AckedBlock) || Expected < 0) {
     302      Status = Mtftp6RrqSendAck (Instance, BlockNum);
     303    }
     304  }
     305
     306  return Status;
    295307}
    296308
     
    327339
    328340  //
    329   // Server can only specify a smaller block size to be used and
     341  // Server can only specify a smaller block size and windowsize to be used and
    330342  // return the timeout matches that requested.
    331343  //
    332344  if ((((ReplyInfo->BitMap & MTFTP6_OPT_BLKSIZE_BIT) != 0) && (ReplyInfo->BlkSize > RequestInfo->BlkSize)) ||
     345      (((ReplyInfo->BitMap & MTFTP6_OPT_WINDOWSIZE_BIT) != 0) && (ReplyInfo->BlkSize > RequestInfo->BlkSize)) ||
    333346      (((ReplyInfo->BitMap & MTFTP6_OPT_TIMEOUT_BIT) != 0) && (ReplyInfo->Timeout != RequestInfo->Timeout))
    334       ) {
     347     ) {
    335348    return FALSE;
    336349  }
     
    486499  // Parse the extensive options in the packet.
    487500  //
    488   Status = Mtftp6ParseExtensionOption (Options, Count, FALSE, &ExtInfo);
     501  Status = Mtftp6ParseExtensionOption (Options, Count, FALSE, Instance->Operation, &ExtInfo);
    489502
    490503  if (EFI_ERROR (Status) || !Mtftp6RrqOackValid (Instance, &ExtInfo, &Instance->ExtInfo)) {
     
    516529    //
    517530    // Save the multicast info. Always update the Master, only update the
    518     // multicast IP address, block size, timeoute at the first time. If IP
     531    // multicast IP address, block size, window size, timeoute at the first time. If IP
    519532    // address is updated, create a UDP child to receive the multicast.
    520533    //
     
    613626      }
    614627
     628      if (ExtInfo.WindowSize != 0) {
     629        Instance->WindowSize = ExtInfo.WindowSize;
     630      }
     631
    615632      if (ExtInfo.Timeout != 0) {
    616633        Instance->Timeout = ExtInfo.Timeout;
     
    624641    if (ExtInfo.BlkSize != 0) {
    625642      Instance->BlkSize = ExtInfo.BlkSize;
     643    }
     644
     645    if (ExtInfo.WindowSize != 0) {
     646      Instance->WindowSize = ExtInfo.WindowSize;
    626647    }
    627648
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Mtftp6Dxe/Mtftp6Support.c

    r77662 r80721  
    22  Mtftp6 support functions implementation.
    33
    4   Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    159153  @param[in]  Head                   The block range list to remove from.
    160154  @param[in]  Num                    The block number to remove.
    161   @param[in]  Completed              Whether Num is the last block number
    162   @param[out] TotalBlock             The continuous block number in all
     155  @param[in]  Completed              Whether Num is the last block number.
     156  @param[out] BlockCounter           The continuous block counter instead of the value after roll-over.
    163157
    164158  @retval EFI_NOT_FOUND          The block number isn't in the block range list.
     
    172166  IN UINT16                 Num,
    173167  IN BOOLEAN                Completed,
    174   OUT UINT64                *TotalBlock
     168  OUT UINT64                *BlockCounter
    175169  )
    176170{
     
    221215      // this solution.
    222216      //
    223       *TotalBlock  = Num;
     217      *BlockCounter  = Num;
    224218
    225219      if (Range->Round > 0) {
    226         *TotalBlock += Range->Bound +  MultU64x32 (Range->Round - 1, (UINT32)(Range->Bound + 1)) + 1;
     220        *BlockCounter += Range->Bound +  MultU64x32 (Range->Round - 1, (UINT32)(Range->Bound + 1)) + 1;
    227221      }
    228222
     
    980974  Instance->McastPort      = 0;
    981975  Instance->BlkSize        = 0;
     976  Instance->Operation      = 0;
     977  Instance->WindowSize     = 1;
     978  Instance->TotalBlock     = 0;
     979  Instance->AckedBlock     = 0;
    982980  Instance->LastBlk        = 0;
    983981  Instance->PacketToLive   = 0;
     
    10521050  Instance->OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
    10531051
     1052  Instance->Operation = OpCode;
     1053
    10541054  //
    10551055  // Parse the extension options in the request packet.
     
    10611061               Token->OptionCount,
    10621062               TRUE,
     1063               Instance->Operation,
    10631064               &Instance->ExtInfo
    10641065               );
     
    11051106  if (Instance->BlkSize == 0) {
    11061107    Instance->BlkSize = MTFTP6_DEFAULT_BLK_SIZE;
     1108  }
     1109  if (Instance->WindowSize == 0) {
     1110    Instance->WindowSize = MTFTP6_DEFAULT_WINDOWSIZE;
    11071111  }
    11081112  if (Instance->MaxRetry == 0) {
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Mtftp6Dxe/Mtftp6Support.h

    r48674 r80721  
    22  Mtftp6 support functions declaration.
    33
    4   Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    9791  @param[in]  Head                   The block range list to remove from.
    9892  @param[in]  Num                    The block number to remove.
    99   @param[in]  Completed              Whether Num is the last block number
    100   @param[out] TotalBlock             The continuous block number in all
     93  @param[in]  Completed              Whether Num is the last block number.
     94  @param[out] BlockCounter           The continuous block counter instead of the value after roll-over.
    10195
    10296  @retval EFI_NOT_FOUND          The block number isn't in the block range list.
     
    110104  IN UINT16                 Num,
    111105  IN BOOLEAN                Completed,
    112   OUT UINT64                *TotalBlock
     106  OUT UINT64                *BlockCounter
    113107  );
    114108
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Mtftp6Dxe/Mtftp6Wrq.c

    r58459 r80721  
    44  Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    154148  UINT16                    AckNum;
    155149  INTN                      Expected;
    156   UINT64                    TotalBlock;
     150  UINT64                    BlockCounter;
    157151
    158152  *IsCompleted = FALSE;
     
    173167  // Remove the acked block number, if this is the last block number,
    174168  // tell the Mtftp6WrqInput to finish the transfer. This is the last
    175   // block number if the block range are empty..
    176   //
    177   Mtftp6RemoveBlockNum (&Instance->BlkList, AckNum, *IsCompleted, &TotalBlock);
     169  // block number if the block range are empty.
     170  //
     171  Mtftp6RemoveBlockNum (&Instance->BlkList, AckNum, *IsCompleted, &BlockCounter);
    178172
    179173  Expected = Mtftp6GetNextBlockNum (&Instance->BlkList);
     
    319313  ASSERT (Options != NULL);
    320314
    321   Status = Mtftp6ParseExtensionOption (Options, Count, FALSE, &ExtInfo);
     315  Status = Mtftp6ParseExtensionOption (Options, Count, FALSE, Instance->Operation, &ExtInfo);
    322316
    323317  if (EFI_ERROR(Status) || !Mtftp6WrqOackValid (&ExtInfo, &Instance->ExtInfo)) {
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/NetworkPkg.dec

    r77662 r80721  
    44# This package provides network modules that conform to UEFI 2.4 specification.
    55#
    6 # Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     6# Copyright (c) 2009 - 2019, Intel Corporation. All rights reserved.<BR>
    77# (C) Copyright 2015-2017 Hewlett Packard Enterprise Development LP<BR>
    88#
    9 # This program and the accompanying materials are licensed and made available under
    10 # the terms and conditions of the BSD License which accompanies this distribution.
    11 # The full text of the license may be found at
    12 # http://opensource.org/licenses/bsd-license.php
    13 #
    14 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    15 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     9# SPDX-License-Identifier: BSD-2-Clause-Patent
    1610#
    1711##
     
    2620[Includes]
    2721  Include
     22
     23[LibraryClasses]
     24  ##  @libraryclass  IpIo layer upon EFI IP4 Protocol.
     25  #   This library is only intended to be used by UEFI network stack modules.
     26  IpIoLib|Include/Library/IpIoLib.h
     27
     28  ##  @libraryclass  Basic function for UEFI network stack.
     29  #   This library is only intended to be used by UEFI network stack modules.
     30  NetLib|Include/Library/NetLib.h
     31
     32  ##  @libraryclass  The helper routines to access UDP service.
     33  #   This library is only intended to be used by UEFI network stack modules.
     34  UdpIoLib|Include/Library/UdpIoLib.h
     35
     36  ##  @libraryclass  The helper routines to access TCP service.
     37  #   This library is only intended to be used by UEFI network stack modules.
     38  TcpIoLib|Include/Library/TcpIoLib.h
     39
     40  ##  @libraryclass  The helper routines to access HTTP service.
     41  #   This library is only intended to be used by UEFI network stack modules.
     42  HttpLib|Include/Library/HttpLib.h
     43
     44  ##  @libraryclass  Library for Deferred Procedure Calls.
     45  DpcLib|Include/Library/DpcLib.h
    2846
    2947[Guids]
     
    4765  gEfiTlsCaCertificateGuid      = { 0xfd2340D0, 0x3dab, 0x4349, { 0xa6, 0xc7, 0x3b, 0x4f, 0x12, 0xb4, 0x8e, 0xae }}
    4866
     67  # Include/Guid/HttpTlsCipherList.h
     68  gEdkiiHttpTlsCipherListGuid   = { 0x46ddb415, 0x5244, 0x49c7, { 0x93, 0x74, 0xf0, 0xe2, 0x98, 0xe7, 0xd3, 0x86 }}
     69
     70  # Include/Guid/WifiConnectionManagerConfigHii.h
     71  gWifiConfigGuid               = { 0x9f94d327, 0x0b18, 0x4245, { 0x8f, 0xf2, 0x83, 0x2e, 0x30, 0xd, 0x2c, 0xef }}
     72
     73[Protocols]
     74  ## Include/Protocol/Dpc.h
     75  gEfiDpcProtocolGuid           = {0x480f8ae9, 0xc46, 0x4aa9,  { 0xbc, 0x89, 0xdb, 0x9f, 0xba, 0x61, 0x98, 0x6 }}
     76
    4977[PcdsFixedAtBuild]
    5078  ## The max attempt number will be created by iSCSI driver.
     
    5280  gEfiNetworkPkgTokenSpaceGuid.PcdMaxIScsiAttemptNumber|0x08|UINT8|0x0000000D
    5381
    54 [PcdsFeatureFlag]
    55   ## Indicates if the IPsec IKEv2 Certificate Authentication feature is enabled or not.<BR><BR>
    56   #   TRUE  - Certificate Authentication feature is enabled.<BR>
    57   #   FALSE - Does not support Certificate Authentication.<BR>
    58   # @Prompt Enable IPsec IKEv2 Certificate Authentication.
    59   gEfiNetworkPkgTokenSpaceGuid.PcdIpsecCertificateEnabled|TRUE|BOOLEAN|0x00000007
    60 
    6182[PcdsFixedAtBuild, PcdsPatchableInModule]
    62   ## CA certificate used by IPsec.
    63   # @Prompt CA file.
    64   gEfiNetworkPkgTokenSpaceGuid.PcdIpsecUefiCaFile|{0x30, 0x82, 0x02, 0x76, 0x30, 0x82, 0x01, 0xDF, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x09, 0x00, 0x80, 0x1D, 0xB9, 0x63, 0x93, 0x7C, 0x9D, 0xE0, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x04, 0x05, 0x00, 0x30, 0x74, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0A, 0x4D, 0x79, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x43, 0x41, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x02, 0x48, 0x5A, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x43, 0x4E, 0x31, 0x1C, 0x30, 0x1A, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x01, 0x16, 0x0D, 0x74, 0x65, 0x73, 0x74, 0x40, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x1C, 0x52, 0x6F, 0x6F, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,  0x69, 0x6F, 0x6E, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x74, 0x79, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x30, 0x31, 0x31, 0x30, 0x31, 0x30, 0x31, 0x35, 0x33, 0x33, 0x37, 0x5A, 0x17, 0x0D, 0x31, 0x31, 0x31, 0x31, 0x30, 0x31, 0x30, 0x31, 0x35, 0x33, 0x33, 0x37, 0x5A, 0x30, 0x74, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0A, 0x4D, 0x79, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x43, 0x41, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x02, 0x48, 0x5A, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x43, 0x4E, 0x31, 0x1C, 0x30, 0x1A, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x01, 0x16, 0x0D, 0x74, 0x65, 0x73, 0x74, 0x40, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x25, 0x30, 0x23,  0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x1C, 0x52, 0x6F, 0x6F, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x74, 0x79, 0x30, 0x81, 0x9F, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8D, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xFC, 0x80, 0x5D, 0x32, 0x55, 0xC7, 0x4C, 0xC6, 0xA8, 0x2F, 0xF7, 0xEC, 0x1F, 0x75, 0x48, 0x02, 0x79, 0xEB, 0xDF, 0x17, 0x1B, 0x08, 0xBA, 0x21, 0xDD, 0xE5, 0x43, 0x06, 0xE8, 0x81, 0xC5, 0x50,  0x3C, 0x18, 0xDD, 0x53, 0xF4, 0xC9, 0xC9, 0xE1, 0x7A, 0xD3, 0xB3, 0x99, 0xA7, 0xC6, 0x43, 0x2A, 0x51, 0x65, 0x10, 0x93, 0xBA, 0x5F, 0x48, 0xAC, 0x54, 0x12, 0x70, 0x9E, 0xF2, 0x9E, 0x7D, 0xF7,  0x22, 0xAA, 0xB7, 0x19, 0xDE, 0xA9, 0x4D, 0x55, 0xAA, 0x41, 0x8F, 0x08, 0xBD, 0x74, 0xFA, 0xE5,  0x57, 0x13, 0xB4, 0x30, 0x9A, 0xBA, 0x56, 0x01, 0x55, 0x8A, 0x9B, 0x5B, 0x50, 0x29, 0x82, 0xF9,  0x00, 0x69, 0x7E, 0x7B, 0x91, 0xA7, 0x2D, 0x48, 0x1A, 0x93, 0x7C, 0xA2, 0xF9, 0x06, 0x64, 0x4B, 0x80, 0xF8, 0x47, 0x58, 0x45, 0x90, 0x09, 0xEA, 0xD6, 0x7B, 0x85, 0x49, 0x2A, 0x4E, 0xB6, 0x71, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x10, 0x30, 0x0E, 0x30, 0x0C, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xFF, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x04, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0xEF, 0x38, 0x6A, 0x43, 0x1C, 0x1D, 0x37, 0xBD, 0xF7, 0xCF, 0x15, 0x6A, 0x99, 0x44, 0xE1, 0xFC, 0x68, 0x6E, 0x91, 0x31, 0x9C, 0x1E,  0x8C, 0x1F, 0x72, 0x4B, 0x93, 0x16, 0x1F, 0x06, 0xFE, 0x94, 0xA9, 0x41, 0x64, 0x81, 0xFD, 0xFF,  0xE7, 0x27, 0x4D, 0xE7, 0x59, 0x55, 0xE1, 0x20, 0x14, 0x07, 0x3C, 0x26, 0x78, 0xB0, 0x72, 0x48, 0x76, 0x0C, 0x8B, 0x3F, 0x08, 0xD0, 0x75, 0x7D, 0x76, 0xA4, 0xB5, 0x56, 0xA6, 0xC9, 0x88, 0x17, 0x27, 0x95, 0x85, 0xEE, 0x42, 0x1E, 0x15, 0x0B, 0x05, 0xDC, 0x2F, 0x97, 0x7B, 0x26, 0x82, 0x62, 0x23, 0xDF, 0xBF, 0x55, 0x09, 0xBF, 0x5E, 0x28, 0x1A, 0xCA, 0x1B, 0xEC, 0xA4, 0x81, 0xB7, 0x9D, 0x91, 0xC9, 0x60, 0x5B, 0x29, 0x2B, 0x4C, 0x6F, 0x8B, 0xCC, 0x17, 0xA8, 0xD6, 0x5D, 0x6B, 0xBC, 0x0D, 0x03, 0x31, 0xB0, 0x57, 0xC9, 0xF8, 0x59, 0x88, 0x3D}|VOID*|0x00000001
    65 
    66   ## CA certificate file's size.
    67   # @Prompt CA file's size.
    68   gEfiNetworkPkgTokenSpaceGuid.PcdIpsecUefiCaFileSize|0x0000027A|UINT32|0x00000002
    69 
    70   ## X509 certificate as Public Key which is used by IPsec (DER format)
    71   # @Prompt Pubic Key for remote peer.
    72   gEfiNetworkPkgTokenSpaceGuid.PcdIpsecUefiCertificate|{0x30, 0x82, 0x02, 0x4D, 0x30, 0x82, 0x01, 0xB6, 0x02, 0x01, 0x01, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x04, 0x05, 0x00, 0x30, 0x74, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0A, 0x4D, 0x79, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x43, 0x41, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x02, 0x48, 0x5A, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x43, 0x4E, 0x31, 0x1C, 0x30, 0x1A, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x01, 0x16, 0x0D, 0x74, 0x65, 0x73, 0x74, 0x40, 0x63, 0x65, 0x72, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x25, 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x1C, 0x52, 0x6F, 0x6F, 0x74, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6F, 0x72, 0x69, 0x74, 0x79, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x30, 0x31, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x34, 0x35, 0x39, 0x5A, 0x17, 0x0D, 0x31, 0x31, 0x31, 0x31, 0x30, 0x31, 0x30, 0x32, 0x30, 0x34, 0x35, 0x39, 0x5A, 0x30, 0x6A, 0x31, 0x0D, 0x30, 0x0B, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x04, 0x55, 0x45, 0x46, 0x49, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x02, 0x53, 0x48, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x43, 0x4E, 0x31, 0x23, 0x30, 0x21, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x01, 0x16, 0x14, 0x75, 0x65, 0x66, 0x69, 0x2E, 0x74, 0x69, 0x61, 0x6E, 0x6F, 0x40, 0x69, 0x6E, 0x74, 0x65, 0x6C, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x0C, 0x30, 0x0A, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x03, 0x53, 0x53, 0x47, 0x31, 0x0C, 0x30, 0x0A, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x03, 0x53, 0x53, 0x47, 0x30, 0x81, 0x9F, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8D, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xE9, 0x90, 0x47, 0x0D, 0x79, 0x93, 0xED, 0xF5, 0xBD, 0xC9, 0x56, 0x03, 0xDF, 0xE2, 0x71, 0xA9, 0x42, 0x3B, 0x20, 0x1E, 0xAF, 0x88, 0x9D, 0x3F, 0xE1, 0xDE, 0x61, 0xEE, 0x83, 0xC4, 0x2E, 0x48, 0x7A, 0x1F, 0x86, 0x54, 0xD2, 0xD5, 0x61, 0x94, 0xE1, 0x15, 0x79, 0x65, 0xCB, 0x39, 0xEE, 0x78, 0x68, 0x3D, 0x2C, 0xEB, 0xE4, 0x7A, 0x8D, 0x98, 0x14, 0x28, 0x7E, 0x6B, 0xFD, 0xC5, 0xF5, 0x1B, 0x62, 0xB9, 0x86, 0x7C, 0xA1, 0x7C, 0xE9, 0x8F, 0xC8, 0xF4, 0xF3, 0x95, 0x5A, 0xAF, 0x0C, 0x21, 0x39, 0xEA, 0x47, 0x5A, 0x1E, 0xBD, 0xBE, 0x7F, 0x1B, 0x0F, 0x31, 0xFB, 0xBD, 0x57, 0xAE, 0xD7, 0xCB, 0x46, 0x83, 0x8B, 0x16, 0x19, 0x74, 0xD9, 0x9E, 0x2D, 0x18, 0xE6, 0xA4, 0x5F, 0x90, 0x90, 0x54, 0xE1, 0x4B, 0x7B, 0x57, 0x76, 0xBD, 0xF4, 0xC0, 0x4D, 0x79, 0x5F, 0x64, 0x6C, 0x0D, 0x2D, 0x02, 0x03, 0x01, 0x00, 0x01, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x04, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x5A, 0x80, 0x5F, 0xD3, 0x3C, 0x93, 0x81, 0xB9, 0x1B, 0xAA, 0x08, 0x1F, 0x47, 0x9C, 0x88,  0xF3, 0x1E, 0xE6, 0x6B, 0xBB, 0x99, 0xE6, 0x23, 0x1A, 0xCB, 0x25, 0x81, 0x54, 0x51, 0x88, 0xDF,  0x9B, 0xC6, 0xBF, 0x60, 0xDB, 0x6C, 0x5D, 0x69, 0xB1, 0x3A, 0xDE, 0x94, 0xEE, 0xD7, 0x6C, 0xF2, 0x2D, 0x63, 0xD3, 0xB3, 0xAB, 0xE6, 0xB5, 0x0A, 0xBF, 0xCE, 0x61, 0xC0, 0xD3, 0x73, 0x9E, 0x80,  0xB5, 0x0C, 0xC0, 0x03, 0x57, 0xA9, 0x56, 0x59, 0x1B, 0xA2, 0x99, 0x03, 0xA6, 0xA3, 0xC4, 0x59, 0xB3, 0xD9, 0x14, 0xA1, 0x34, 0x18, 0xF3, 0x73, 0xB8, 0x54, 0xAA, 0xED, 0x7D, 0x31, 0x3E, 0x23, 0xAD, 0xF1, 0x86, 0xF7, 0xE6, 0xD9, 0x01, 0x0D, 0x68, 0xC6, 0xC5, 0x95, 0x18, 0xD2, 0x89, 0xB7, 0x06, 0x96, 0xC9, 0x11, 0xB9, 0xF0, 0xDA, 0xD9, 0x02, 0x25, 0xC4, 0xB9, 0x72, 0xF8, 0x6D, 0xC5, 0x5B}|VOID*|0x00000003
    73 
    74   ## X509 certificate as Public Key's size.
    75   # @Prompt Pubic Key's size.
    76   gEfiNetworkPkgTokenSpaceGuid.PcdIpsecUefiCertificateSize|0x251|UINT32|0x00000004
    77 
    78   ## Private Key used by IPsec (PEM format).
    79   # @Prompt Private Key.
    80   gEfiNetworkPkgTokenSpaceGuid.PcdIpsecUefiCertificateKey|{0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x42, 0x45, 0x47, 0x49, 0x4E, 0x20, 0x52, 0x53, 0x41, 0x20, 0x50,  0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4B, 0x45, 0x59, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x0A, 0x50, 0x72, 0x6F, 0x63, 0x2D, 0x54, 0x79, 0x70, 0x65, 0x3A, 0x20, 0x34, 0x2C, 0x45, 0x4E, 0x43,  0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x0A, 0x44, 0x45, 0x4B, 0x2D, 0x49, 0x6E, 0x66, 0x6F, 0x3A,  0x20, 0x44, 0x45, 0x53, 0x2D, 0x45, 0x44, 0x45, 0x33, 0x2D, 0x43, 0x42, 0x43, 0x2C, 0x32, 0x42,  0x31, 0x46, 0x42, 0x41, 0x43, 0x41, 0x38, 0x36, 0x32, 0x36, 0x33, 0x34, 0x41, 0x37, 0x0A, 0x0A,  0x61, 0x52, 0x78, 0x49, 0x58, 0x33, 0x59, 0x4D, 0x68, 0x49, 0x50, 0x41, 0x73, 0x59, 0x79, 0x6F,  0x6A, 0x49, 0x76, 0x46, 0x7A, 0x42, 0x75, 0x6B, 0x74, 0x6B, 0x4A, 0x47, 0x5A, 0x38, 0x4D, 0x64,  0x33, 0x5A, 0x53, 0x73, 0x39, 0x41, 0x2B, 0x52, 0x2B, 0x57, 0x45, 0x59, 0x41, 0x70, 0x34, 0x63,  0x4F, 0x55, 0x43, 0x4A, 0x78, 0x51, 0x2F, 0x66, 0x4A, 0x38, 0x58, 0x4F, 0x45, 0x64, 0x58, 0x38,  0x0A, 0x31, 0x63, 0x4E, 0x66, 0x4B, 0x2B, 0x49, 0x62, 0x76, 0x4B, 0x4D, 0x68, 0x55, 0x67, 0x30,  0x4B, 0x4E, 0x35, 0x38, 0x37, 0x71, 0x66, 0x2F, 0x4C, 0x31, 0x76, 0x57, 0x58, 0x6F, 0x31, 0x74,  0x5A, 0x6B, 0x59, 0x2B, 0x5A, 0x53, 0x4E, 0x63, 0x46, 0x45, 0x41, 0x76, 0x37, 0x43, 0x43, 0x50,  0x51, 0x6B, 0x64, 0x4A, 0x42, 0x48, 0x35, 0x65, 0x6B, 0x35, 0x44, 0x51, 0x2F, 0x37, 0x6D, 0x71,  0x55, 0x0A, 0x6B, 0x76, 0x78, 0x48, 0x53, 0x50, 0x70, 0x34, 0x66, 0x41, 0x71, 0x47, 0x61, 0x68,  0x54, 0x31, 0x75, 0x37, 0x37, 0x56, 0x66, 0x4E, 0x66, 0x31, 0x53, 0x74, 0x61, 0x73, 0x31, 0x6E,  0x4F, 0x67, 0x6A, 0x50, 0x31, 0x41, 0x6C, 0x7A, 0x6E, 0x6B, 0x6A, 0x57, 0x61, 0x72, 0x6A, 0x51,  0x4F, 0x73, 0x48, 0x46, 0x33, 0x41, 0x46, 0x31, 0x62, 0x61, 0x51, 0x4A, 0x50, 0x5A, 0x31, 0x6A,  0x71, 0x4C, 0x0A, 0x61, 0x30, 0x49, 0x45, 0x6E, 0x30, 0x6C, 0x59, 0x6C, 0x78, 0x35, 0x79, 0x4D,  0x6D, 0x78, 0x54, 0x47, 0x57, 0x79, 0x52, 0x35, 0x70, 0x57, 0x51, 0x35, 0x71, 0x66, 0x78, 0x2B,  0x62, 0x37, 0x64, 0x37, 0x75, 0x71, 0x67, 0x47, 0x69, 0x66, 0x36, 0x6A, 0x44, 0x47, 0x4D, 0x37,  0x68, 0x38, 0x43, 0x78, 0x2F, 0x74, 0x67, 0x2B, 0x61, 0x62, 0x45, 0x31, 0x34, 0x30, 0x2F, 0x50,  0x66, 0x6C, 0x33, 0x0A, 0x33, 0x6A, 0x50, 0x6C, 0x52, 0x75, 0x73, 0x57, 0x6F, 0x6F, 0x63, 0x49,  0x41, 0x76, 0x49, 0x74, 0x79, 0x51, 0x6D, 0x39, 0x39, 0x71, 0x74, 0x34, 0x64, 0x6E, 0x74, 0x6E,  0x74, 0x6F, 0x4A, 0x43, 0x6D, 0x4F, 0x53, 0x79, 0x71, 0x67, 0x4D, 0x6E, 0x76, 0x2F, 0x76, 0x2B,  0x51, 0x48, 0x74, 0x79, 0x4D, 0x73, 0x42, 0x64, 0x38, 0x34, 0x78, 0x45, 0x57, 0x46, 0x36, 0x72,  0x58, 0x4D, 0x52, 0x63, 0x0A, 0x53, 0x2B, 0x66, 0x68, 0x54, 0x71, 0x58, 0x74, 0x54, 0x38, 0x44,  0x50, 0x65, 0x70, 0x2F, 0x56, 0x44, 0x66, 0x65, 0x78, 0x6B, 0x41, 0x63, 0x6D, 0x63, 0x75, 0x41,  0x69, 0x6F, 0x2B, 0x79, 0x64, 0x51, 0x75, 0x49, 0x31, 0x32, 0x7A, 0x50, 0x70, 0x45, 0x68, 0x50,  0x45, 0x68, 0x31, 0x44, 0x50, 0x58, 0x73, 0x64, 0x58, 0x67, 0x64, 0x77, 0x39, 0x75, 0x46, 0x47,  0x6D, 0x63, 0x35, 0x68, 0x52, 0x0A, 0x35, 0x31, 0x57, 0x41, 0x31, 0x65, 0x63, 0x44, 0x48, 0x6A,  0x31, 0x58, 0x32, 0x45, 0x72, 0x36, 0x39, 0x59, 0x70, 0x31, 0x50, 0x69, 0x43, 0x37, 0x49, 0x47,  0x79, 0x6F, 0x71, 0x57, 0x43, 0x37, 0x69, 0x2F, 0x71, 0x6D, 0x6D, 0x72, 0x49, 0x66, 0x6F, 0x41,  0x54, 0x74, 0x39, 0x58, 0x34, 0x30, 0x54, 0x56, 0x63, 0x37, 0x42, 0x63, 0x6A, 0x34, 0x63, 0x54,  0x31, 0x78, 0x37, 0x6B, 0x70, 0x4F, 0x0A, 0x4C, 0x71, 0x67, 0x33, 0x6C, 0x50, 0x78, 0x33, 0x2B,  0x4A, 0x63, 0x33, 0x43, 0x67, 0x34, 0x79, 0x5A, 0x54, 0x66, 0x6E, 0x4A, 0x5A, 0x37, 0x48, 0x76,  0x36, 0x64, 0x68, 0x67, 0x45, 0x6D, 0x70, 0x4D, 0x73, 0x74, 0x46, 0x65, 0x35, 0x34, 0x49, 0x53,  0x76, 0x74, 0x38, 0x37, 0x59, 0x4E, 0x77, 0x74, 0x4C, 0x65, 0x6C, 0x34, 0x67, 0x50, 0x4A, 0x79,  0x53, 0x42, 0x30, 0x4B, 0x76, 0x37, 0x69, 0x0A, 0x33, 0x32, 0x74, 0x37, 0x67, 0x4F, 0x30, 0x79,  0x6D, 0x73, 0x62, 0x71, 0x4A, 0x55, 0x75, 0x79, 0x41, 0x68, 0x47, 0x64, 0x33, 0x63, 0x2B, 0x78,  0x4C, 0x46, 0x2F, 0x63, 0x63, 0x4F, 0x57, 0x44, 0x52, 0x34, 0x79, 0x72, 0x30, 0x6A, 0x79, 0x64,  0x74, 0x70, 0x79, 0x69, 0x64, 0x52, 0x45, 0x66, 0x56, 0x46, 0x66, 0x53, 0x6C, 0x39, 0x54, 0x30,  0x6D, 0x53, 0x72, 0x4E, 0x76, 0x43, 0x71, 0x45, 0x0A, 0x52, 0x52, 0x5A, 0x6E, 0x42, 0x56, 0x76,  0x37, 0x50, 0x66, 0x6C, 0x75, 0x72, 0x31, 0x59, 0x35, 0x70, 0x2F, 0x65, 0x78, 0x54, 0x63, 0x56,  0x34, 0x72, 0x4B, 0x52, 0x69, 0x6C, 0x35, 0x58, 0x6A, 0x2F, 0x39, 0x59, 0x56, 0x31, 0x4E, 0x6E,  0x6D, 0x4E, 0x2B, 0x2F, 0x31, 0x31, 0x74, 0x36, 0x58, 0x74, 0x6A, 0x72, 0x75, 0x52, 0x62, 0x33,  0x79, 0x70, 0x38, 0x76, 0x64, 0x6C, 0x61, 0x65, 0x5A, 0x0A, 0x6C, 0x67, 0x45, 0x69, 0x73, 0x30,  0x42, 0x7A, 0x4B, 0x59, 0x39, 0x59, 0x64, 0x58, 0x48, 0x64, 0x46, 0x58, 0x57, 0x59, 0x4F, 0x41,  0x71, 0x50, 0x48, 0x45, 0x65, 0x4B, 0x57, 0x79, 0x61, 0x59, 0x5A, 0x56, 0x79, 0x43, 0x70, 0x51,  0x65, 0x43, 0x53, 0x71, 0x4F, 0x71, 0x48, 0x38, 0x67, 0x42, 0x6B, 0x4F, 0x62, 0x43, 0x69, 0x72,  0x41, 0x6A, 0x65, 0x56, 0x70, 0x35, 0x7A, 0x37, 0x6B, 0x31, 0x0A, 0x64, 0x4F, 0x2F, 0x6D, 0x56,  0x74, 0x49, 0x2B, 0x57, 0x47, 0x30, 0x48, 0x72, 0x37, 0x5A, 0x4C, 0x53, 0x52, 0x78, 0x6F, 0x61,  0x44, 0x47, 0x42, 0x33, 0x4E, 0x35, 0x38, 0x4B, 0x56, 0x45, 0x4F, 0x34, 0x65, 0x46, 0x56, 0x75,  0x6E, 0x59, 0x77, 0x51, 0x42, 0x54, 0x7A, 0x4F, 0x65, 0x57, 0x39, 0x6C, 0x4B, 0x79, 0x49, 0x38,  0x67, 0x4D, 0x45, 0x57, 0x6C, 0x62, 0x4B, 0x72, 0x41, 0x45, 0x49, 0x0A, 0x46, 0x4B, 0x38, 0x7A,  0x58, 0x6F, 0x44, 0x74, 0x39, 0x6A, 0x7A, 0x54, 0x37, 0x67, 0x68, 0x6A, 0x79, 0x45, 0x54, 0x67,  0x44, 0x6C, 0x69, 0x50, 0x53, 0x49, 0x46, 0x6A, 0x79, 0x31, 0x64, 0x6B, 0x6A, 0x6D, 0x68, 0x53,  0x78, 0x79, 0x6A, 0x67, 0x62, 0x71, 0x45, 0x3D, 0x0A, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x45, 0x4E,  0x44, 0x20, 0x52, 0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4B, 0x45,  0x59, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x0A}|VOID*|0x00000005
    81 
    82   ## Private Key's size.
    83   # @Prompt Private Key's size.
    84   gEfiNetworkPkgTokenSpaceGuid.PcdIpsecUefiCertificateKeySize|0x3d5|UINT32|0x00000006
    85 
    8683  ## Indicates whether HTTP connections (i.e., unsecured) are permitted or not.
    8784  # TRUE  - HTTP connections are allowed. Both the "https://" and "http://" URI schemes are permitted.
     
    8986  # @Prompt Indicates whether HTTP connections are permitted or not.
    9087  gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|FALSE|BOOLEAN|0x00000008
     88
     89  ## This setting is to specify the MTFTP windowsize used by UEFI PXE driver.
     90  # A value of 0 indicates the default value of windowsize(1).
     91  # A non-zero value will be used as windowsize.
     92  # @Prompt PXE TFTP windowsize.
     93  gEfiNetworkPkgTokenSpaceGuid.PcdPxeTftpWindowSize|0x4|UINT64|0x10000008
    9194
    9295[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
     
    112115  gEfiNetworkPkgTokenSpaceGuid.PcdIScsiAIPNetworkBootPolicy|0x08|UINT8|0x10000007
    113116
     117  ## IPv4 PXE support
     118  # 0x01 = PXE Enabled
     119  # 0x00 = PXE Disabled
     120  gEfiNetworkPkgTokenSpaceGuid.PcdIPv4PXESupport|0x01|UINT8|0x10000009
     121
     122  ## IPv6 PXE support
     123  # 0x01 = PXE Enabled
     124  # 0x00 = PXE Disabled
     125  gEfiNetworkPkgTokenSpaceGuid.PcdIPv6PXESupport|0x01|UINT8|0x1000000a
     126
    114127[UserExtensions.TianoCore."ExtraFiles"]
    115128  NetworkPkgExtra.uni
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/NetworkPkg.dsc

    r77662 r80721  
    55# Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    66#
    7 #    This program and the accompanying materials
    8 #    are licensed and made available under the terms and conditions of the BSD License
    9 #    which accompanies this distribution. The full text of the license may be found at
    10 #    http://opensource.org/licenses/bsd-license.php
    11 #
    12 #    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13 #    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7#    SPDX-License-Identifier: BSD-2-Clause-Patent
    148#
    159##
     
    2115  DSC_SPECIFICATION              = 0x00010005
    2216  OUTPUT_DIRECTORY               = Build/NetworkPkg
    23   SUPPORTED_ARCHITECTURES        = IA32|IPF|X64|EBC|ARM|AARCH64
     17  SUPPORTED_ARCHITECTURES        = IA32|X64|EBC|ARM|AARCH64
    2418  BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
    2519  SKUID_IDENTIFIER               = DEFAULT
     
    4842  SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
    4943
    50   DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
    51   NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
    52   IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
    53   UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
    54   TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf
    55   HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf
    5644  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
    5745  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
     
    7967  #
    8068  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
     69  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
     70  ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
    8171
    8272[PcdsFeatureFlag]
     
    10898
    10999[Components]
    110   NetworkPkg/Ip6Dxe/Ip6Dxe.inf
    111   NetworkPkg/TcpDxe/TcpDxe.inf
    112   NetworkPkg/Udp6Dxe/Udp6Dxe.inf
    113   NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
    114   NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
    115   NetworkPkg/DnsDxe/DnsDxe.inf
    116   NetworkPkg/HttpDxe/HttpDxe.inf
    117   NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
    118   NetworkPkg/HttpBootDxe/HttpBootDxe.inf
    119 
    120   NetworkPkg/Application/IpsecConfig/IpSecConfig.inf
     100  NetworkPkg/WifiConnectionManagerDxe/WifiConnectionManagerDxe.inf
    121101  NetworkPkg/Application/VConfig/VConfig.inf
    122102
    123 [Components.IA32, Components.X64, Components.IPF]
    124   NetworkPkg/IpSecDxe/IpSecDxe.inf
    125   NetworkPkg/IScsiDxe/IScsiDxe.inf
    126   NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
    127   NetworkPkg/TlsDxe/TlsDxe.inf
    128   NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf
     103  !include NetworkPkg/Network.dsc.inc
    129104
    130105[BuildOptions]
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/NetworkPkg.uni

    r77662 r80721  
    44// This package provides network modules that conform to UEFI 2.4 specification.
    55//
    6 // Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
     6// Copyright (c) 2009 - 2019, Intel Corporation. All rights reserved.<BR>
    77//
    8 // This program and the accompanying materials are licensed and made available under
    9 // the terms and conditions of the BSD License which accompanies this distribution.
    10 // The full text of the license may be found at
    11 // http://opensource.org/licenses/bsd-license.php
    12 //
    13 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    14 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     8// SPDX-License-Identifier: BSD-2-Clause-Patent
    159//
    1610// **/
     
    5650                                                                                       "FALSE - HTTP connections are denied."
    5751
     52#string STR_gEfiNetworkPkgTokenSpaceGuid_PcdPxeTftpWindowSize_PROMPT  #language en-US "This setting is to specify the MTFTP windowsize used by UEFI PXE driver."
     53
     54#string STR_gEfiNetworkPkgTokenSpaceGuid_PcdPxeTftpWindowSize_HELP  #language en-US "Specify MTFTP windowsize used by UEFI PXE driver.\n"
     55                                                                                    "A value of 0 indicates the default value of windowsize(1).\n"
     56                                                                                    "A non-zero value will be used as windowsize."
     57
    5858#string STR_gEfiNetworkPkgTokenSpaceGuid_PcdIpsecCertificateEnabled_PROMPT  #language en-US "Enable IPsec IKEv2 Certificate Authentication."
    5959
     
    8181                                                                                            "0x20 = Stop UEFI iSCSI if iSCSI HBA adapter is currently configured to boot from iSCSI IPv4 targets.\n"
    8282                                                                                            "0x40 = Stop UEFI iSCSI if iSCSI HBA adapter is currently configured to boot from iSCSI IPv6 targets."
     83
     84#string STR_gEfiNetworkPkgTokenSpaceGuid_PcdIPv4PXESupport_PROMPT  #language en-US "Enable IPV4 PXE Function."
     85
     86#string STR_gEfiNetworkPkgTokenSpaceGuid_PcdIPv4PXESupport_HELP  #language en-US "Indicates IPV4 PXE Function is enabled or not.\n"
     87                                                                                 "A value of 0 indicates the IPV4 PXE Function is disabled.\n"
     88                                                                                 "A value of 1 indicates the IPV4 PXE Function is enabled."
     89
     90#string STR_gEfiNetworkPkgTokenSpaceGuid_PcdIPv6PXESupport_PROMPT  #language en-US "Enable IPV6 PXE Function."
     91
     92#string STR_gEfiNetworkPkgTokenSpaceGuid_PcdIPv6PXESupport_HELP  #language en-US "Indicates IPV6 PXE Function is enabled or not.\n"
     93                                                                                 "A value of 0 indicates the IPV6 PXE Function is disabled.\n"
     94                                                                                 "A value of 1 indicates the IPV6 PXE Function is enabled."
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/NetworkPkgExtra.uni

    r77662 r80721  
    22// Network Package Localized Strings and Content.
    33//
    4 // Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
     4// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
    55//
    6 // This program and the accompanying materials are licensed and made available under
    7 // the terms and conditions of the BSD License which accompanies this distribution.
    8 // The full text of the license may be found at
    9 // http://opensource.org/licenses/bsd-license.php
    10 //
    11 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6// SPDX-License-Identifier: BSD-2-Clause-Patent
    137//
    148// **/
    159
    16 #string STR_PROPERTIES_PACKAGE_NAME 
    17 #language en-US 
     10#string STR_PROPERTIES_PACKAGE_NAME
     11#language en-US
    1812"Network package"
    1913
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/ComponentName.c

    r58466 r80721  
    33  EFI_COMPONENT_NAME2_PROTOCOL.
    44
    5   Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR>
    6 
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     6
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/SockImpl.c

    r77662 r80721  
    22  Implementation of the Socket.
    33
    4   Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/SockImpl.h

    r77662 r80721  
    22  The function declaration that provided for Socket Interface.
    33
    4   Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/SockInterface.c

    r77662 r80721  
    22  Interface function of the Socket.
    33
    4   Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/Socket.h

    r77662 r80721  
    44  Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/TcpDispatcher.c

    r77662 r80721  
    33
    44  (C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>
    5   Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
    6 
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     6
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/TcpDriver.c

    r77662 r80721  
    22  The driver binding and service binding protocol for the TCP driver.
    33
    4   Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    203197             );
    204198  if (EFI_ERROR (Status)) {
    205     gBS->UninstallMultipleProtocolInterfaces (
    206            ImageHandle,
    207            &gEfiDriverBindingProtocolGuid,
    208            &gTcp4DriverBinding,
    209            &gEfiComponentName2ProtocolGuid,
    210            &gTcpComponentName2,
    211            &gEfiComponentNameProtocolGuid,
    212            &gTcpComponentName,
    213            NULL
    214            );
     199    EfiLibUninstallDriverBindingComponentName2 (
     200      &gTcp4DriverBinding,
     201      &gTcpComponentName,
     202      &gTcpComponentName2
     203      );
    215204    return Status;
    216205  }
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/TcpDriver.h

    r77662 r80721  
    44  Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/TcpDxe.inf

    r58466 r80721  
    33#
    44#  This module provides EFI TCPv4 Protocol and EFI TCPv6 Protocol to send and receive data stream.
    5 #  It might provide TCPv4 Protocol or TCPv6 Protocol or both of them that depends on
    6 which network stack has been loaded in system.
     5#  It might provide TCPv4 Protocol or TCPv6 Protocol or both of them that depends on which network
     6stack has been loaded in system. This driver supports both IPv4 and IPv6 network stack.
    77#
     8#  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    89#
    9 #  Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
    10 #
    11 #  This program and the accompanying materials
    12 #  are licensed and made available under the terms and conditions of the BSD License
    13 #  which accompanies this distribution. The full text of the license may be found at
    14 #  http://opensource.org/licenses/bsd-license.php.
    15 #
    16 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    17 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     10#  SPDX-License-Identifier: BSD-2-Clause-Patent
    1811#
    1912##
     
    3225# The following information is for reference only and not required by the build tools.
    3326#
    34 #  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
     27#  VALID_ARCHITECTURES           = IA32 X64 EBC
    3528#
    3629
     
    6053  MdePkg/MdePkg.dec
    6154  MdeModulePkg/MdeModulePkg.dec
     55  NetworkPkg/NetworkPkg.dec
    6256
    6357
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/TcpDxe.uni

    r77662 r80721  
    66// which network stack has been loaded in system.
    77//
    8 // Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
     8// Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    99//
    10 // This program and the accompanying materials
    11 // are licensed and made available under the terms and conditions of the BSD License
    12 // which accompanies this distribution. The full text of the license may be found at
    13 // http://opensource.org/licenses/bsd-license.php.
    14 //
    15 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    16 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     10// SPDX-License-Identifier: BSD-2-Clause-Patent
    1711//
    1812// **/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/TcpDxeExtra.uni

    r77662 r80721  
    22// TcpDxe Localized Strings and Content
    33//
    4 // Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
     4// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
    55//
    6 // This program and the accompanying materials
    7 // are licensed and made available under the terms and conditions of the BSD License
    8 // which accompanies this distribution. The full text of the license may be found at
    9 // http://opensource.org/licenses/bsd-license.php.
    10 //
    11 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6// SPDX-License-Identifier: BSD-2-Clause-Patent
    137//
    148// **/
    159
    16 #string STR_PROPERTIES_MODULE_NAME 
    17 #language en-US 
     10#string STR_PROPERTIES_MODULE_NAME
     11#language en-US
    1812"TCP DXE"
    1913
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/TcpFunc.h

    r58459 r80721  
    44  Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/TcpInput.c

    r77662 r80721  
    22  TCP input process routines.
    33
    4   Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/TcpIo.c

    r58459 r80721  
    44  Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/TcpMain.c

    r77662 r80721  
    33
    44  (C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>
    5   Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
    6 
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     6
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/TcpMain.h

    r77662 r80721  
    55  Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    66
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/TcpMisc.c

    r77662 r80721  
    55  Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
    66
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/TcpOption.c

    r48674 r80721  
    22  Routines to process TCP option.
    33
    4   Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    343337  return 0;
    344338}
    345 
    346 /**
    347   Check the segment against PAWS.
    348 
    349   @param[in]  Tcb     Pointer to the TCP_CB of this TCP instance.
    350   @param[in]  TSVal   The timestamp value.
    351 
    352   @retval     1       The segment passed the PAWS check.
    353   @retval     0       The segment failed to pass the PAWS check.
    354 
    355 **/
    356 UINT32
    357 TcpPawsOK (
    358   IN TCP_CB *Tcb,
    359   IN UINT32 TSVal
    360   )
    361 {
    362   //
    363   // PAWS as defined in RFC1323, buggy...
    364   //
    365   if (TCP_TIME_LT (TSVal, Tcb->TsRecent) &&
    366       TCP_TIME_LT (Tcb->TsRecentAge + TCP_PAWS_24DAY, mTcpTick)
    367       ) {
    368 
    369     return 0;
    370 
    371   }
    372 
    373   return 1;
    374 }
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/TcpOption.h

    r48674 r80721  
    22  Tcp option's routine header file.
    33
    4   Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    127121  );
    128122
    129 /**
    130   Check the segment against PAWS.
    131 
    132   @param[in]  Tcb     Pointer to the TCP_CB of this TCP instance.
    133   @param[in]  TSVal   The timestamp value.
    134 
    135   @retval     1       The segment passed the PAWS check.
    136   @retval     0       The segment failed to pass the PAWS check.
    137 
    138 **/
    139 UINT32
    140 TcpPawsOK (
    141   IN TCP_CB *Tcb,
    142   IN UINT32 TSVal
    143   );
    144 
    145123#endif
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/TcpOutput.c

    r77662 r80721  
    22  TCP output process routines.
    33
    4   Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/TcpProto.h

    r77662 r80721  
    44  Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TcpDxe/TcpTimer.c

    r48674 r80721  
    44  Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.c

    r77662 r80721  
    22  The DriverEntryPoint for TlsAuthConfigDxe driver.
    33
    4   Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf

    r77662 r80721  
    44#
    55# Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
    6 # This program and the accompanying materials
    7 # are licensed and made available under the terms and conditions of the BSD License
    8 # which accompanies this distribution. The full text of the license may be found at
    9 # http://opensource.org/licenses/bsd-license.php
    10 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6# SPDX-License-Identifier: BSD-2-Clause-Patent
    127#
    138##
     
    5853  gEfiDevicePathProtocolGuid                    ## PRODUCES
    5954  gEfiHiiConfigAccessProtocolGuid               ## PRODUCES
    60   gEfiSimpleFileSystemProtocolGuid              ## SOMETIMES_CONSUMES
    6155
    6256[Guids]
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.uni

    r77662 r80721  
    66// Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    77//
    8 // This program and the accompanying materials
    9 // are licensed and made available under the terms and conditions of the BSD License
    10 // which accompanies this distribution. The full text of the license may be found at
    11 // http://opensource.org/licenses/bsd-license.php
    12 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     8// SPDX-License-Identifier: BSD-2-Clause-Patent
    149//
    1510// **/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxeExtra.uni

    r77662 r80721  
    44// Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    55//
    6 // This program and the accompanying materials
    7 // are licensed and made available under the terms and conditions of the BSD License
    8 // which accompanies this distribution. The full text of the license may be found at
    9 // http://opensource.org/licenses/bsd-license.php
    10 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6// SPDX-License-Identifier: BSD-2-Clause-Patent
    127//
    138// **/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxeStrings.uni

    r77662 r80721  
    33
    44Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.c

    r77662 r80721  
    22  The Miscellaneous Routines for TlsAuthConfigDxe driver.
    33
    4 Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
    5 
    6 This program and the accompanying materials
    7 are licensed and made available under the terms and conditions of the BSD License
    8 which accompanies this distribution.  The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    576570
    577571/**
    578   This function will open a file or directory referenced by DevicePath.
    579 
    580   This function opens a file with the open mode according to the file path. The
    581   Attributes is valid only for EFI_FILE_MODE_CREATE.
    582 
    583   @param[in, out]  FilePath        On input, the device path to the file.
    584                                    On output, the remaining device path.
    585   @param[out]      FileHandle      Pointer to the file handle.
    586   @param[in]       OpenMode        The mode to open the file with.
    587   @param[in]       Attributes      The file's file attributes.
    588 
    589   @retval EFI_SUCCESS              The information was set.
    590   @retval EFI_INVALID_PARAMETER    One of the parameters has an invalid value.
    591   @retval EFI_UNSUPPORTED          Could not open the file path.
    592   @retval EFI_NOT_FOUND            The specified file could not be found on the
    593                                    device or the file system could not be found on
    594                                    the device.
    595   @retval EFI_NO_MEDIA             The device has no medium.
    596   @retval EFI_MEDIA_CHANGED        The device has a different medium in it or the
    597                                    medium is no longer supported.
    598   @retval EFI_DEVICE_ERROR         The device reported an error.
    599   @retval EFI_VOLUME_CORRUPTED     The file system structures are corrupted.
    600   @retval EFI_WRITE_PROTECTED      The file or medium is write protected.
    601   @retval EFI_ACCESS_DENIED        The file was opened read only.
    602   @retval EFI_OUT_OF_RESOURCES     Not enough resources were available to open the
    603                                    file.
    604   @retval EFI_VOLUME_FULL          The volume is full.
    605 **/
    606 EFI_STATUS
    607 EFIAPI
    608 OpenFileByDevicePath (
    609   IN OUT EFI_DEVICE_PATH_PROTOCOL     **FilePath,
    610   OUT EFI_FILE_HANDLE                 *FileHandle,
    611   IN UINT64                           OpenMode,
    612   IN UINT64                           Attributes
    613   )
    614 {
    615   EFI_STATUS                      Status;
    616   EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *EfiSimpleFileSystemProtocol;
    617   EFI_FILE_PROTOCOL               *Handle1;
    618   EFI_FILE_PROTOCOL               *Handle2;
    619   EFI_HANDLE                      DeviceHandle;
    620 
    621   if ((FilePath == NULL || FileHandle == NULL)) {
    622     return EFI_INVALID_PARAMETER;
    623   }
    624 
    625   Status = gBS->LocateDevicePath (
    626                   &gEfiSimpleFileSystemProtocolGuid,
    627                   FilePath,
    628                   &DeviceHandle
    629                   );
    630   if (EFI_ERROR (Status)) {
    631     return Status;
    632   }
    633 
    634   Status = gBS->OpenProtocol(
    635                   DeviceHandle,
    636                   &gEfiSimpleFileSystemProtocolGuid,
    637                   (VOID**)&EfiSimpleFileSystemProtocol,
    638                   gImageHandle,
    639                   NULL,
    640                   EFI_OPEN_PROTOCOL_GET_PROTOCOL
    641                   );
    642   if (EFI_ERROR (Status)) {
    643     return Status;
    644   }
    645 
    646   Status = EfiSimpleFileSystemProtocol->OpenVolume(EfiSimpleFileSystemProtocol, &Handle1);
    647   if (EFI_ERROR (Status)) {
    648     FileHandle = NULL;
    649     return Status;
    650   }
    651 
    652   //
    653   // go down directories one node at a time.
    654   //
    655   while (!IsDevicePathEnd (*FilePath)) {
    656     //
    657     // For file system access each node should be a file path component
    658     //
    659     if (DevicePathType    (*FilePath) != MEDIA_DEVICE_PATH ||
    660         DevicePathSubType (*FilePath) != MEDIA_FILEPATH_DP
    661        ) {
    662       FileHandle = NULL;
    663       return (EFI_INVALID_PARAMETER);
    664     }
    665     //
    666     // Open this file path node
    667     //
    668     Handle2  = Handle1;
    669     Handle1 = NULL;
    670 
    671     //
    672     // Try to test opening an existing file
    673     //
    674     Status = Handle2->Open (
    675                         Handle2,
    676                         &Handle1,
    677                         ((FILEPATH_DEVICE_PATH*)*FilePath)->PathName,
    678                         OpenMode &~EFI_FILE_MODE_CREATE,
    679                         0
    680                         );
    681 
    682     //
    683     // see if the error was that it needs to be created
    684     //
    685     if ((EFI_ERROR (Status)) && (OpenMode != (OpenMode &~EFI_FILE_MODE_CREATE))) {
    686       Status = Handle2->Open (
    687                           Handle2,
    688                           &Handle1,
    689                           ((FILEPATH_DEVICE_PATH*)*FilePath)->PathName,
    690                           OpenMode,
    691                           Attributes
    692                           );
    693     }
    694     //
    695     // Close the last node
    696     //
    697     Handle2->Close (Handle2);
    698 
    699     if (EFI_ERROR(Status)) {
    700       return (Status);
    701     }
    702 
    703     //
    704     // Get the next node
    705     //
    706     *FilePath = NextDevicePathNode (*FilePath);
    707   }
    708 
    709   //
    710   // This is a weak spot since if the undefined SHELL_FILE_HANDLE format changes this must change also!
    711   //
    712   *FileHandle = (VOID*)Handle1;
    713   return EFI_SUCCESS;
    714 }
    715 
    716 /**
    717572  This function converts an input device structure to a Unicode string.
    718573
     
    803658  EFI_SIGNATURE_DATA                *CACertData;
    804659  VOID                              *Data;
     660  VOID                              *CurrentData;
    805661  UINTN                             DataSize;
    806662  UINTN                             SigDataSize;
     
    814670  CACertData    = NULL;
    815671  Data          = NULL;
     672  CurrentData   = NULL;
     673  Attr          = 0;
    816674
    817675  Status = ReadFileContent (
     
    848706
    849707  //
    850   // Check if signature database entry has been already existed.
    851   // If true, use EFI_VARIABLE_APPEND_WRITE attribute to append the
    852   // new signature data to original variable
    853   //
    854   Attr = TLS_AUTH_CONFIG_VAR_BASE_ATTR;
    855 
     708  // Check if the signature database entry already exists. If it does, use the
     709  // EFI_VARIABLE_APPEND_WRITE attribute to append the new signature data to
     710  // the original variable, plus preserve the original variable attributes.
     711  //
    856712  Status = gRT->GetVariable(
    857713                  VariableName,
     
    862718                  );
    863719  if (Status == EFI_BUFFER_TOO_SMALL) {
     720    //
     721    // Per spec, we have to fetch the variable's contents, even though we're
     722    // only interested in the variable's attributes.
     723    //
     724    CurrentData = AllocatePool (DataSize);
     725    if (CurrentData == NULL) {
     726      Status = EFI_OUT_OF_RESOURCES;
     727      goto ON_EXIT;
     728    }
     729    Status = gRT->GetVariable(
     730                    VariableName,
     731                    &gEfiTlsCaCertificateGuid,
     732                    &Attr,
     733                    &DataSize,
     734                    CurrentData
     735                    );
     736    if (EFI_ERROR (Status)) {
     737      goto ON_EXIT;
     738    }
    864739    Attr |= EFI_VARIABLE_APPEND_WRITE;
    865   } else if (Status != EFI_NOT_FOUND) {
     740  } else if (Status == EFI_NOT_FOUND) {
     741    Attr = TLS_AUTH_CONFIG_VAR_BASE_ATTR;
     742  } else {
    866743    goto ON_EXIT;
    867744  }
     
    890767  }
    891768
     769  if (CurrentData != NULL) {
     770    FreePool (CurrentData);
     771  }
     772
    892773  if (X509Data != NULL) {
    893774    FreePool (X509Data);
     
    1039920  mTlsAuthPrivateData->FileContext->FileName = FileName;
    1040921
    1041   OpenFileByDevicePath (
     922  EfiOpenFileByDevicePath (
    1042923    &FilePath,
    1043924    &mTlsAuthPrivateData->FileContext->FHandle,
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigImpl.h

    r77662 r80721  
    44Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    55
    6 This program and the accompanying materials
    7 are licensed and made available under the terms and conditions of the BSD License
    8 which accompanies this distribution.  The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigNvData.h

    r77662 r80721  
    33
    44Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    5 This program and the accompanying materials
    6 are licensed and made available under the terms and conditions of the BSD License
    7 which accompanies this distribution.  The full text of the license may be found at
    8 http://opensource.org/licenses/bsd-license.php
    9 
    10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5SPDX-License-Identifier: BSD-2-Clause-Patent
    126
    137**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigVfr.vfr

    r77662 r80721  
    44  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsDxe/TlsConfigProtocol.c

    r77662 r80721  
    44  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsDxe/TlsDriver.c

    r77662 r80721  
    44  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsDxe/TlsDriver.h

    r77662 r80721  
    44  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsDxe/TlsDxe.inf

    r77662 r80721  
    66#  Service Binding Protocol, to provide TLS services.
    77#
    8 #  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
     8#  Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
    99#
    10 #  This program and the accompanying materials
    11 #  are licensed and made available under the terms and conditions of the BSD License
    12 #  which accompanies this distribution. The full text of the license may be found at
    13 #  http://opensource.org/licenses/bsd-license.php.
    14 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    15 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     10#  SPDX-License-Identifier: BSD-2-Clause-Patent
    1611#
    1712#
     
    3530  MdePkg/MdePkg.dec
    3631  MdeModulePkg/MdeModulePkg.dec
     32  NetworkPkg/NetworkPkg.dec
    3733  CryptoPkg/CryptoPkg.dec
    3834
     
    5349  UefiLib
    5450  DebugLib
    55   NetLib
    5651  BaseCryptLib
    5752  TlsLib
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsDxe/TlsDxe.uni

    r77662 r80721  
    99// Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    1010//
    11 // This program and the accompanying materials
    12 // are licensed and made available under the terms and conditions of the BSD License
    13 // which accompanies this distribution.  The full text of the license may be found at
    14 // http://opensource.org/licenses/bsd-license.php
    15 //
    16 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    17 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     11// SPDX-License-Identifier: BSD-2-Clause-Patent
    1812//
    1913// **/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsDxe/TlsDxeExtra.uni

    r77662 r80721  
    44// Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    55//
    6 // This program and the accompanying materials
    7 // are licensed and made available under the terms and conditions of the BSD License
    8 // which accompanies this distribution. The full text of the license may be found at
    9 // http://opensource.org/licenses/bsd-license.php.
    10 //
    11 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6// SPDX-License-Identifier: BSD-2-Clause-Patent
    137//
    148// **/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsDxe/TlsImpl.c

    r77662 r80721  
    22  The Miscellaneous Routines for TlsDxe driver.
    33
    4 Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
    5 
    6 This program and the accompanying materials
    7 are licensed and made available under the terms and conditions of the BSD License
    8 which accompanies this distribution.  The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    5145  UINT32              BufferOutSize;
    5246  UINT8               *BufferOut;
     47  UINT32              RecordCount;
    5348  INTN                Ret;
    5449
     
    6257  BufferOutSize    = 0;
    6358  BufferOut        = NULL;
     59  RecordCount      = 0;
    6460  Ret              = 0;
    6561
     
    9288  }
    9389
    94   BufferOut = AllocateZeroPool (MAX_BUFFER_SIZE);
     90  //
     91  // Count TLS record number.
     92  //
     93  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) {
     97      Status = EFI_INVALID_PARAMETER;
     98      goto ERROR;
     99    }
     100    BufferInPtr += TLS_RECORD_HEADER_LENGTH + RecordHeaderIn->Length;
     101    RecordCount ++;
     102  }
     103
     104  //
     105  // Allocate enough buffer to hold TLS Ciphertext.
     106  //
     107  BufferOut = AllocateZeroPool (RecordCount * (TLS_RECORD_HEADER_LENGTH + TLS_CIPHERTEXT_RECORD_MAX_PAYLOAD_LENGTH));
    95108  if (BufferOut == NULL) {
    96109    Status = EFI_OUT_OF_RESOURCES;
     
    99112
    100113  //
    101   // Parsing buffer.
     114  // Parsing buffer. Received packet may have multiple TLS record messages.
    102115  //
    103116  BufferInPtr = BufferIn;
     
    106119    RecordHeaderIn = (TLS_RECORD_HEADER *) BufferInPtr;
    107120
    108     if (RecordHeaderIn->ContentType != TlsContentTypeApplicationData) {
    109       Status = EFI_INVALID_PARAMETER;
    110       goto ERROR;
    111     }
    112 
    113121    ThisPlainMessageSize = RecordHeaderIn->Length;
    114122
    115123    TlsWrite (TlsInstance->TlsConn, (UINT8 *) (RecordHeaderIn + 1), ThisPlainMessageSize);
    116124
    117     Ret = TlsCtrlTrafficOut (TlsInstance->TlsConn, (UINT8 *)(TempRecordHeader), MAX_BUFFER_SIZE - BufferOutSize);
     125    Ret = TlsCtrlTrafficOut (TlsInstance->TlsConn, (UINT8 *)(TempRecordHeader), TLS_RECORD_HEADER_LENGTH + TLS_CIPHERTEXT_RECORD_MAX_PAYLOAD_LENGTH);
    118126
    119127    if (Ret > 0) {
     
    130138    BufferOutSize += ThisMessageSize;
    131139
    132     BufferInPtr += RECORD_HEADER_LEN + ThisPlainMessageSize;
    133     TempRecordHeader += ThisMessageSize;
     140    BufferInPtr += TLS_RECORD_HEADER_LENGTH + ThisPlainMessageSize;
     141    TempRecordHeader = (TLS_RECORD_HEADER *)((UINT8 *)TempRecordHeader + ThisMessageSize);
    134142  }
    135143
     
    202210  UINT8               *BufferOut;
    203211  UINT32              BufferOutSize;
     212  UINT32              RecordCount;
    204213  INTN                Ret;
    205214
     
    213222  BufferOut        = NULL;
    214223  BufferOutSize    = 0;
     224  RecordCount      = 0;
    215225  Ret              = 0;
    216226
     
    243253  }
    244254
    245   BufferOut = AllocateZeroPool (MAX_BUFFER_SIZE);
     255  //
     256  // Count TLS record number.
     257  //
     258  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) {
     262      Status = EFI_INVALID_PARAMETER;
     263      goto ERROR;
     264    }
     265    BufferInPtr += TLS_RECORD_HEADER_LENGTH + NTOHS (RecordHeaderIn->Length);
     266    RecordCount ++;
     267  }
     268
     269  //
     270  // Allocate enough buffer to hold TLS Plaintext.
     271  //
     272  BufferOut = AllocateZeroPool (RecordCount * (TLS_RECORD_HEADER_LENGTH + TLS_PLAINTEXT_RECORD_MAX_PAYLOAD_LENGTH));
    246273  if (BufferOut == NULL) {
    247274    Status = EFI_OUT_OF_RESOURCES;
     
    257284    RecordHeaderIn = (TLS_RECORD_HEADER *) BufferInPtr;
    258285
    259     if (RecordHeaderIn->ContentType != TlsContentTypeApplicationData) {
    260       Status = EFI_INVALID_PARAMETER;
    261       goto ERROR;
    262     }
    263 
    264286    ThisCipherMessageSize = NTOHS (RecordHeaderIn->Length);
    265287
    266     Ret = TlsCtrlTrafficIn (TlsInstance->TlsConn, (UINT8 *) (RecordHeaderIn), RECORD_HEADER_LEN + ThisCipherMessageSize);
    267     if (Ret != RECORD_HEADER_LEN + ThisCipherMessageSize) {
     288    Ret = TlsCtrlTrafficIn (TlsInstance->TlsConn, (UINT8 *) (RecordHeaderIn), TLS_RECORD_HEADER_LENGTH + ThisCipherMessageSize);
     289    if (Ret != TLS_RECORD_HEADER_LENGTH + ThisCipherMessageSize) {
    268290      TlsInstance->TlsSessionState = EfiTlsSessionError;
    269291      Status = EFI_ABORTED;
     
    272294
    273295    Ret = 0;
    274     Ret = TlsRead (TlsInstance->TlsConn, (UINT8 *) (TempRecordHeader + 1), MAX_BUFFER_SIZE - BufferOutSize);
     296    Ret = TlsRead (TlsInstance->TlsConn, (UINT8 *) (TempRecordHeader + 1), TLS_PLAINTEXT_RECORD_MAX_PAYLOAD_LENGTH);
    275297
    276298    if (Ret > 0) {
     
    285307    }
    286308
    287     CopyMem (TempRecordHeader, RecordHeaderIn, RECORD_HEADER_LEN);
     309    CopyMem (TempRecordHeader, RecordHeaderIn, TLS_RECORD_HEADER_LENGTH);
    288310    TempRecordHeader->Length = ThisPlainMessageSize;
    289     BufferOutSize += RECORD_HEADER_LEN + ThisPlainMessageSize;
    290 
    291     BufferInPtr += RECORD_HEADER_LEN + ThisCipherMessageSize;
    292     TempRecordHeader += RECORD_HEADER_LEN + ThisPlainMessageSize;
     311    BufferOutSize += TLS_RECORD_HEADER_LENGTH + ThisPlainMessageSize;
     312
     313    BufferInPtr += TLS_RECORD_HEADER_LENGTH + ThisCipherMessageSize;
     314    TempRecordHeader = (TLS_RECORD_HEADER *)((UINT8 *)TempRecordHeader + TLS_RECORD_HEADER_LENGTH + ThisPlainMessageSize);
    293315  }
    294316
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsDxe/TlsImpl.h

    r77662 r80721  
    22  Header file of Miscellaneous Routines for TlsDxe driver.
    33
    4 Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
    5 
    6 This program and the accompanying materials
    7 are licensed and made available under the terms and conditions of the BSD License
    8 which accompanies this distribution.  The full text of the license may be found at
    9 http://opensource.org/licenses/bsd-license.php
    10 
    11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    4640extern EFI_TLS_PROTOCOL                mTlsProtocol;
    4741extern EFI_TLS_CONFIGURATION_PROTOCOL  mTlsConfigurationProtocol;
    48 
    49 #define RECORD_HEADER_LEN 5 /// ContentType(1) + Version(2) + Length(2)
    50 
    51 #define MAX_BUFFER_SIZE   32768
    5242
    5343/**
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/TlsDxe/TlsProtocol.c

    r77662 r80721  
    44  Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    3933                                  Data is NULL.
    4034                                  DataSize is 0.
     35                                  DataSize is invalid for DataType.
    4136  @retval EFI_UNSUPPORTED         The DataType is unsupported.
    4237  @retval EFI_ACCESS_DENIED       If the DataType is one of below:
     
    6055  TLS_INSTANCE              *Instance;
    6156  UINT16                    *CipherId;
     57  CONST EFI_TLS_CIPHER      *TlsCipherList;
     58  UINTN                     CipherCount;
    6259  UINTN                     Index;
    6360
     
    10198    break;
    10299  case EfiTlsCipherList:
     100    if (DataSize % sizeof (EFI_TLS_CIPHER) != 0) {
     101      Status = EFI_INVALID_PARAMETER;
     102      goto ON_EXIT;
     103    }
     104
    103105    CipherId = AllocatePool (DataSize);
    104106    if (CipherId == NULL) {
     
    107109    }
    108110
    109     for (Index = 0; Index < DataSize / sizeof (EFI_TLS_CIPHER); Index++) {
    110       *(CipherId +Index) = HTONS (*(((UINT16 *) Data) + Index));
    111     }
    112 
    113     Status = TlsSetCipherList (Instance->TlsConn, CipherId, DataSize / sizeof (EFI_TLS_CIPHER));
     111    TlsCipherList = (CONST EFI_TLS_CIPHER *) Data;
     112    CipherCount = DataSize / sizeof (EFI_TLS_CIPHER);
     113    for (Index = 0; Index < CipherCount; Index++) {
     114      CipherId[Index] = ((TlsCipherList[Index].Data1 << 8) |
     115                         TlsCipherList[Index].Data2);
     116    }
     117
     118    Status = TlsSetCipherList (Instance->TlsConn, CipherId, CipherCount);
    114119
    115120    FreePool (CipherId);
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Udp6Dxe/ComponentName.c

    r58466 r80721  
    22  UEFI Component Name(2) protocol implementation for UDP6 driver.
    33
    4   Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Udp6Dxe/Udp6Driver.c

    r77662 r80721  
    44  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Udp6Dxe/Udp6Driver.h

    r77662 r80721  
    44  Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Udp6Dxe/Udp6Dxe.inf

    r58466 r80721  
    55#  services to transmit and receive UDP packets.
    66#
    7 #  Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
     7#  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    88#
    9 #  This program and the accompanying materials
    10 #  are licensed and made available under the terms and conditions of the BSD License
    11 #  which accompanies this distribution. The full text of the license may be found at
    12 #  http://opensource.org/licenses/bsd-license.php.
    13 #
    14 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    15 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     9#  SPDX-License-Identifier: BSD-2-Clause-Patent
    1610#
    1711##
     
    3125# The following information is for reference only and not required by the build tools.
    3226#
    33 #  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
     27#  VALID_ARCHITECTURES           = IA32 X64 EBC
    3428#
    3529
     
    4539  MdePkg/MdePkg.dec
    4640  MdeModulePkg/MdeModulePkg.dec
     41  NetworkPkg/NetworkPkg.dec
    4742
    4843[LibraryClasses]
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Udp6Dxe/Udp6Dxe.uni

    r77662 r80721  
    55// services to transmit and receive UDP packets.
    66//
    7 // Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
     7// Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    88//
    9 // This program and the accompanying materials
    10 // are licensed and made available under the terms and conditions of the BSD License
    11 // which accompanies this distribution. The full text of the license may be found at
    12 // http://opensource.org/licenses/bsd-license.php.
    13 //
    14 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    15 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     9// SPDX-License-Identifier: BSD-2-Clause-Patent
    1610//
    1711// **/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Udp6Dxe/Udp6DxeExtra.uni

    r77662 r80721  
    22// Udp6Dxe Localized Strings and Content
    33//
    4 // Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
     4// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
    55//
    6 // This program and the accompanying materials
    7 // are licensed and made available under the terms and conditions of the BSD License
    8 // which accompanies this distribution. The full text of the license may be found at
    9 // http://opensource.org/licenses/bsd-license.php.
    10 //
    11 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6// SPDX-License-Identifier: BSD-2-Clause-Patent
    137//
    148// **/
    159
    16 #string STR_PROPERTIES_MODULE_NAME 
    17 #language en-US 
     10#string STR_PROPERTIES_MODULE_NAME
     11#language en-US
    1812"UDP6 DXE"
    1913
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Udp6Dxe/Udp6Impl.c

    r77662 r80721  
    44  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Udp6Dxe/Udp6Impl.h

    r58466 r80721  
    22  Udp6 driver's whole implementation and internal data structures.
    33
    4   Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Udp6Dxe/Udp6Main.c

    r77662 r80721  
    44  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/ComponentName.c

    r58466 r80721  
    22  UEFI Component Name(2) protocol implementation for UefiPxeBc driver.
    33
    4   Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcBoot.c

    r77662 r80721  
    22  Boot functions implementation for UefiPxeBc Driver.
    33
    4   Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    55  (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
    66
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcBoot.h

    r58459 r80721  
    44  Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.c

    r77662 r80721  
    44  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.h

    r77662 r80721  
    22  Functions declaration related with DHCPv4 for UefiPxeBc Driver.
    33
    4   Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.c

    r77662 r80721  
    55  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
    66
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
     
    201195
    202196  return EFI_SUCCESS;
    203 }
    204 
    205 
    206 /**
    207   Free all the nodes in the list for boot file.
    208 
    209   @param[in]  Head            The pointer to the head of list.
    210 
    211 **/
    212 VOID
    213 PxeBcFreeBootFileOption (
    214   IN LIST_ENTRY               *Head
    215   )
    216 {
    217   LIST_ENTRY                  *Entry;
    218   LIST_ENTRY                  *NextEntry;
    219   PXEBC_DHCP6_OPTION_NODE     *Node;
    220 
    221   NET_LIST_FOR_EACH_SAFE (Entry, NextEntry, Head) {
    222     Node = NET_LIST_USER_STRUCT (Entry, PXEBC_DHCP6_OPTION_NODE, Link);
    223     RemoveEntryList (Entry);
    224     FreePool (Node);
    225   }
    226197}
    227198
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.h

    r77662 r80721  
    22  Functions declaration related with DHCPv6 for UefiPxeBc Driver.
    33
    4   Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    117111
    118112
    119 /**
    120   Free all the nodes in the boot file list.
    121 
    122   @param[in]  Head            The pointer to the head of the list.
    123 
    124 **/
    125 VOID
    126 PxeBcFreeBootFileOption (
    127   IN LIST_ENTRY               *Head
    128   );
    129113
    130114
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c

    r77662 r80721  
    33
    44  (C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>
    5   Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
    6 
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5  Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>
     6
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
     
    815809
    816810    //
    817     // Open SNP on the child handle BY_DRIVER. It will prevent any additionally
     811    // Open SNP on the child handle BY_DRIVER|EXCLUSIVE. It will prevent any additionally
    818812    // layering to perform the experiment.
    819813    //
     
    824818                    This->DriverBindingHandle,
    825819                    Private->Ip4Nic->Controller,
    826                     EFI_OPEN_PROTOCOL_BY_DRIVER
     820                    EFI_OPEN_PROTOCOL_BY_DRIVER|EFI_OPEN_PROTOCOL_EXCLUSIVE
    827821                    );
    828822    if (EFI_ERROR (Status)) {
     
    11581152
    11591153    //
    1160     // Open SNP on the child handle BY_DRIVER. It will prevent any additionally
     1154    // Open SNP on the child handle BY_DRIVER|EXCLUSIVE. It will prevent any additionally
    11611155    // layering to perform the experiment.
    11621156    //
     
    11671161                    This->DriverBindingHandle,
    11681162                    Private->Ip6Nic->Controller,
    1169                     EFI_OPEN_PROTOCOL_BY_DRIVER
     1163                    EFI_OPEN_PROTOCOL_BY_DRIVER|EFI_OPEN_PROTOCOL_EXCLUSIVE
    11701164                    );
    11711165    if (EFI_ERROR (Status)) {
     
    12491243  EFI_STATUS  Status;
    12501244
     1245  if ((PcdGet8(PcdIPv4PXESupport) == PXE_DISABLED) && (PcdGet8(PcdIPv6PXESupport) == PXE_DISABLED)) {
     1246    return EFI_UNSUPPORTED;
     1247  }
     1248
    12511249  Status = EfiLibInstallDriverBindingComponentName2 (
    12521250             ImageHandle,
     
    12701268             );
    12711269  if (EFI_ERROR (Status)) {
    1272     gBS->UninstallMultipleProtocolInterfaces (
    1273            ImageHandle,
    1274            &gEfiDriverBindingProtocolGuid,
    1275            &gPxeBcIp4DriverBinding,
    1276            &gEfiComponentName2ProtocolGuid,
    1277            &gPxeBcComponentName2,
    1278            &gEfiComponentNameProtocolGuid,
    1279            &gPxeBcComponentName,
    1280            NULL
    1281            );
     1270    EfiLibUninstallDriverBindingComponentName2 (
     1271      &gPxeBcIp4DriverBinding,
     1272      &gPxeBcComponentName,
     1273      &gPxeBcComponentName2
     1274      );
    12821275  }
    12831276
     
    13131306
    13141307  if (IpVersion == IP_VERSION_4) {
     1308    if (PcdGet8(PcdIPv4PXESupport) == PXE_DISABLED) {
     1309      return EFI_UNSUPPORTED;
     1310    }
    13151311    DhcpServiceBindingGuid  = &gEfiDhcp4ServiceBindingProtocolGuid;
    13161312    MtftpServiceBindingGuid = &gEfiMtftp4ServiceBindingProtocolGuid;
    13171313  } else {
     1314    if (PcdGet8(PcdIPv6PXESupport) == PXE_DISABLED) {
     1315      return EFI_UNSUPPORTED;
     1316    }
    13181317    DhcpServiceBindingGuid  = &gEfiDhcp6ServiceBindingProtocolGuid;
    13191318    MtftpServiceBindingGuid = &gEfiMtftp6ServiceBindingProtocolGuid;
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.h

    r58459 r80721  
    44  Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.c

    r77662 r80721  
    44  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    850844  EFI_STATUS                      Status;
    851845  EFI_PXE_BASE_CODE_IP_FILTER     IpFilter;
    852 
     846  UINTN                           WindowSize;
    853847
    854848  if ((This == NULL) ||
     
    873867  Private   = PXEBC_PRIVATE_DATA_FROM_PXEBC (This);
    874868  Mode      = Private->PxeBc.Mode;
     869
     870  //
     871  // Get PcdPxeTftpWindowSize.
     872  //
     873  WindowSize = (UINTN) PcdGet64 (PcdPxeTftpWindowSize);
    875874
    876875  if (Mode->UsingIpv6) {
     
    931930               Filename,
    932931               BlockSize,
     932               (WindowSize > 1) ? &WindowSize : NULL,
    933933               BufferSize
    934934               );
     
    945945               Filename,
    946946               BlockSize,
     947               (WindowSize > 1) ? &WindowSize : NULL,
    947948               BufferPtr,
    948949               BufferSize,
     
    977978               Filename,
    978979               BlockSize,
     980               (WindowSize > 1) ? &WindowSize : NULL,
    979981               BufferPtr,
    980982               BufferSize,
     
    16601662    Udp4Cfg = &Private->Udp4CfgData;
    16611663    if ((AcceptPromiscuous != Udp4Cfg->AcceptPromiscuous)   ||
    1662           (AcceptBroadcast != Udp4Cfg->AcceptBroadcast)     || MultiCastUpdate) {
     1664        (AcceptBroadcast != Udp4Cfg->AcceptBroadcast)     || MultiCastUpdate) {
    16631665      //
    16641666      // Clear the UDP4 instance configuration, all joined groups will be left
     
    20042006  PXEBC_PRIVATE_DATA      *Private;
    20052007  EFI_PXE_BASE_CODE_MODE  *Mode;
    2006   EFI_ARP_CONFIG_DATA     ArpConfigData;
    20072008
    20082009  if (This == NULL) {
     
    20442045      goto ON_EXIT;
    20452046    }
    2046   } else if (!Mode->UsingIpv6 && NewStationIp != NULL) {
    2047     //
    2048     // Configure the corresponding ARP with the IPv4 address.
    2049     //
    2050     ZeroMem (&ArpConfigData, sizeof (EFI_ARP_CONFIG_DATA));
    2051 
    2052     ArpConfigData.SwAddressType   = 0x0800;
    2053     ArpConfigData.SwAddressLength = (UINT8) sizeof (EFI_IPv4_ADDRESS);
    2054     ArpConfigData.StationAddress  = &NewStationIp->v4;
    2055 
    2056     Private->Arp->Configure (Private->Arp, NULL);
    2057     Private->Arp->Configure (Private->Arp, &ArpConfigData);
    2058 
    2059     if (NewSubnetMask != NULL) {
    2060       Mode->RouteTableEntries                = 1;
    2061       Mode->RouteTable[0].IpAddr.Addr[0]     = NewStationIp->Addr[0] & NewSubnetMask->Addr[0];
    2062       Mode->RouteTable[0].SubnetMask.Addr[0] = NewSubnetMask->Addr[0];
    2063       Mode->RouteTable[0].GwAddr.Addr[0]     = 0;
    2064     }
    2065 
    2066     Private->IsAddressOk = TRUE;
    20672047  }
    20682048
     
    20782058
    20792059  Status = PxeBcFlushStationIp (Private, NewStationIp, NewSubnetMask);
     2060  if (!EFI_ERROR (Status)) {
     2061    Private->IsAddressOk = TRUE;
     2062  }
     2063
    20802064ON_EXIT:
    20812065  return Status;
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h

    r77662 r80721  
    33  interfaces declaration.
    44
    5   Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
    6 
    7   This program and the accompanying materials
    8   are licensed and made available under the terms and conditions of the BSD License
    9   which accompanies this distribution.  The full text of the license may be found at
    10   http://opensource.org/licenses/bsd-license.php.
    11 
    12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    13   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     5  Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>
     6
     7  SPDX-License-Identifier: BSD-2-Clause-Patent
    148
    159**/
     
    8579#define PXEBC_VIRTUAL_NIC_FROM_LOADFILE(a)    CR (a, PXEBC_VIRTUAL_NIC, LoadFile, PXEBC_VIRTUAL_NIC_SIGNATURE)
    8680
     81#define PXE_ENABLED                           0x01
     82#define PXE_DISABLED                          0x00
     83
    8784typedef union {
    8885  PXEBC_DHCP4_PACKET_CACHE            Dhcp4;
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcMtftp.c

    r77662 r80721  
    22  Functions implementation related with Mtftp for UefiPxeBc Driver.
    33
    4   Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    2014  "timeout",
    2115  "tsize",
    22   "multicast"
     16  "multicast",
     17  "windowsize"
    2318};
    2419
     
    109104  @param[in]      Filename       Pointer to boot file name.
    110105  @param[in]      BlockSize      Pointer to required block size.
     106  @param[in]      WindowSize     Pointer to required window size.
    111107  @param[in, out] BufferSize     Pointer to buffer size.
    112108
     
    123119  IN     UINT8                        *Filename,
    124120  IN     UINTN                        *BlockSize,
     121  IN     UINTN                        *WindowSize,
    125122  IN OUT UINT64                       *BufferSize
    126123  )
    127124{
    128125  EFI_MTFTP6_PROTOCOL                 *Mtftp6;
    129   EFI_MTFTP6_OPTION                   ReqOpt[2];
     126  EFI_MTFTP6_OPTION                   ReqOpt[3];
    130127  EFI_MTFTP6_PACKET                   *Packet;
    131128  EFI_MTFTP6_OPTION                   *Option;
    132129  UINT32                              PktLen;
    133   UINT8                               OptBuf[128];
     130  UINT8                               OptBuf[PXE_MTFTP_OPTBUF_MAXNUM_INDEX];
     131  UINTN                               OptBufSize;
    134132  UINT32                              OptCnt;
    135133  EFI_STATUS                          Status;
     
    141139  Option                    = NULL;
    142140  PktLen                    = 0;
     141  OptBufSize                = PXE_MTFTP_OPTBUF_MAXNUM_INDEX;
    143142  OptCnt                    = 1;
    144143  Config->InitialServerPort = PXEBC_BS_DOWNLOAD_PORT;
     
    153152  //
    154153  ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_TSIZE_INDEX];
    155   PxeBcUintnToAscDec (0, OptBuf, PXE_MTFTP_OPTBUF_MAXNUM_INDEX);
     154  PxeBcUintnToAscDec (0, OptBuf, OptBufSize);
    156155  ReqOpt[0].ValueStr  = OptBuf;
    157156
    158157  if (BlockSize != NULL) {
    159     ReqOpt[1].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
    160     ReqOpt[1].ValueStr  = (UINT8 *) (ReqOpt[0].ValueStr + AsciiStrLen ((CHAR8 *) ReqOpt[0].ValueStr) + 1);
    161     PxeBcUintnToAscDec (*BlockSize, ReqOpt[1].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX - (AsciiStrLen ((CHAR8 *) ReqOpt[0].ValueStr) + 1));
     158    ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
     159    ReqOpt[OptCnt].ValueStr  = (UINT8 *) (ReqOpt[OptCnt-1].ValueStr + AsciiStrLen ((CHAR8 *) ReqOpt[OptCnt-1].ValueStr) + 1);
     160    OptBufSize -= (AsciiStrLen ((CHAR8 *) ReqOpt[OptCnt-1].ValueStr) + 1);
     161    PxeBcUintnToAscDec (*BlockSize, ReqOpt[OptCnt].ValueStr, OptBufSize);
     162    OptCnt++;
     163  }
     164
     165  if (WindowSize != NULL) {
     166    ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
     167    ReqOpt[OptCnt].ValueStr  = (UINT8 *) (ReqOpt[OptCnt-1].ValueStr + AsciiStrLen ((CHAR8 *) ReqOpt[OptCnt-1].ValueStr) + 1);
     168    OptBufSize -= (AsciiStrLen ((CHAR8 *) ReqOpt[OptCnt-1].ValueStr) + 1);
     169    PxeBcUintnToAscDec (*WindowSize, ReqOpt[OptCnt].ValueStr, OptBufSize);
    162170    OptCnt++;
    163171  }
     
    236244  @param[in]      Filename       Pointer to boot file name.
    237245  @param[in]      BlockSize      Pointer to required block size.
     246  @param[in]      WindowSize     Pointer to required window size.
    238247  @param[in]      BufferPtr      Pointer to buffer.
    239248  @param[in, out] BufferSize     Pointer to buffer size.
     
    251260  IN     UINT8                        *Filename,
    252261  IN     UINTN                        *BlockSize,
     262  IN     UINTN                        *WindowSize,
    253263  IN     UINT8                        *BufferPtr,
    254264  IN OUT UINT64                       *BufferSize,
     
    258268  EFI_MTFTP6_PROTOCOL                 *Mtftp6;
    259269  EFI_MTFTP6_TOKEN                    Token;
    260   EFI_MTFTP6_OPTION                   ReqOpt[1];
     270  EFI_MTFTP6_OPTION                   ReqOpt[2];
    261271  UINT32                              OptCnt;
    262   UINT8                               OptBuf[128];
     272  UINT8                               BlksizeBuf[10];
     273  UINT8                               WindowsizeBuf[10];
    263274  EFI_STATUS                          Status;
    264275
     
    274285
    275286  if (BlockSize != NULL) {
    276     ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
    277     ReqOpt[0].ValueStr  = OptBuf;
    278     PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX);
    279     OptCnt++;
    280   }
     287    ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
     288    ReqOpt[OptCnt].ValueStr  = BlksizeBuf;
     289    PxeBcUintnToAscDec (*BlockSize, ReqOpt[OptCnt].ValueStr, sizeof (BlksizeBuf));
     290    OptCnt++;
     291  }
     292
     293  if (WindowSize != NULL) {
     294    ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
     295    ReqOpt[OptCnt].ValueStr  = WindowsizeBuf;
     296    PxeBcUintnToAscDec (*WindowSize, ReqOpt[OptCnt].ValueStr, sizeof (WindowsizeBuf));
     297    OptCnt++;
     298  }
     299
    281300
    282301  Token.Event         = NULL;
     
    394413  @param[in]       Filename       Pointer to boot file name.
    395414  @param[in]       BlockSize      Pointer to required block size.
     415  @param[in]       WindowSize     Pointer to required window size.
    396416  @param[in]       BufferPtr      Pointer to buffer.
    397417  @param[in, out]  BufferSize     Pointer to buffer size.
     
    409429  IN     UINT8                         *Filename,
    410430  IN     UINTN                         *BlockSize,
     431  IN     UINTN                         *WindowSize,
    411432  IN     UINT8                         *BufferPtr,
    412433  IN OUT UINT64                        *BufferSize,
     
    416437  EFI_MTFTP6_PROTOCOL                  *Mtftp6;
    417438  EFI_MTFTP6_TOKEN                     Token;
    418   EFI_MTFTP6_OPTION                    ReqOpt[1];
     439  EFI_MTFTP6_OPTION                    ReqOpt[2];
    419440  UINT32                               OptCnt;
    420   UINT8                                OptBuf[128];
     441  UINT8                                BlksizeBuf[10];
     442  UINT8                                WindowsizeBuf[10];
    421443  EFI_STATUS                           Status;
    422444
     
    432454
    433455  if (BlockSize != NULL) {
    434     ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
    435     ReqOpt[0].ValueStr  = OptBuf;
    436     PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX);
     456    ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
     457    ReqOpt[OptCnt].ValueStr  = BlksizeBuf;
     458    PxeBcUintnToAscDec (*BlockSize, ReqOpt[OptCnt].ValueStr, sizeof (BlksizeBuf));
     459    OptCnt++;
     460  }
     461
     462  if (WindowSize != NULL) {
     463    ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
     464    ReqOpt[OptCnt].ValueStr  = WindowsizeBuf;
     465    PxeBcUintnToAscDec (*WindowSize, ReqOpt[OptCnt].ValueStr, sizeof (WindowsizeBuf));
    437466    OptCnt++;
    438467  }
     
    555584  @param[in]      Filename       Pointer to boot file name.
    556585  @param[in]      BlockSize      Pointer to required block size.
     586  @param[in]      WindowSize     Pointer to required window size.
    557587  @param[in, out] BufferSize     Pointer to buffer size.
    558588
     
    569599  IN     UINT8                      *Filename,
    570600  IN     UINTN                      *BlockSize,
     601  IN     UINTN                      *WindowSize,
    571602  IN OUT UINT64                     *BufferSize
    572603  )
    573604{
    574605  EFI_MTFTP4_PROTOCOL *Mtftp4;
    575   EFI_MTFTP4_OPTION   ReqOpt[2];
     606  EFI_MTFTP4_OPTION   ReqOpt[3];
    576607  EFI_MTFTP4_PACKET   *Packet;
    577608  EFI_MTFTP4_OPTION   *Option;
    578609  UINT32              PktLen;
    579   UINT8               OptBuf[128];
     610  UINT8               OptBuf[PXE_MTFTP_OPTBUF_MAXNUM_INDEX];
     611  UINTN               OptBufSize;
    580612  UINT32              OptCnt;
    581613  EFI_STATUS          Status;
     
    587619  Option                    = NULL;
    588620  PktLen                    = 0;
     621  OptBufSize                = PXE_MTFTP_OPTBUF_MAXNUM_INDEX;
    589622  OptCnt                    = 1;
    590623  Config->InitialServerPort = PXEBC_BS_DOWNLOAD_PORT;
     
    599632  //
    600633  ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_TSIZE_INDEX];
    601   PxeBcUintnToAscDec (0, OptBuf, PXE_MTFTP_OPTBUF_MAXNUM_INDEX);
     634  PxeBcUintnToAscDec (0, OptBuf, OptBufSize);
    602635  ReqOpt[0].ValueStr  = OptBuf;
    603636
    604637  if (BlockSize != NULL) {
    605     ReqOpt[1].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
    606     ReqOpt[1].ValueStr  = (UINT8 *) (ReqOpt[0].ValueStr + AsciiStrLen ((CHAR8 *) ReqOpt[0].ValueStr) + 1);
    607     PxeBcUintnToAscDec (*BlockSize, ReqOpt[1].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX - (AsciiStrLen ((CHAR8 *) ReqOpt[0].ValueStr) + 1));
     638    ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
     639    ReqOpt[OptCnt].ValueStr  = (UINT8 *) (ReqOpt[OptCnt-1].ValueStr + AsciiStrLen ((CHAR8 *) ReqOpt[OptCnt-1].ValueStr) + 1);
     640    OptBufSize -= (AsciiStrLen ((CHAR8 *) ReqOpt[OptCnt-1].ValueStr) + 1);
     641    PxeBcUintnToAscDec (*BlockSize, ReqOpt[OptCnt].ValueStr, OptBufSize);
     642    OptCnt++;
     643  }
     644
     645  if (WindowSize != NULL) {
     646    ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
     647    ReqOpt[OptCnt].ValueStr  = (UINT8 *) (ReqOpt[OptCnt-1].ValueStr + AsciiStrLen ((CHAR8 *) ReqOpt[OptCnt-1].ValueStr) + 1);
     648    OptBufSize -= (AsciiStrLen ((CHAR8 *) ReqOpt[OptCnt-1].ValueStr) + 1);
     649    PxeBcUintnToAscDec (*WindowSize, ReqOpt[OptCnt].ValueStr, OptBufSize);
    608650    OptCnt++;
    609651  }
     
    682724  @param[in]      Filename       Pointer to boot file name.
    683725  @param[in]      BlockSize      Pointer to required block size.
     726  @param[in]      WindowSize     Pointer to required window size.
    684727  @param[in]      BufferPtr      Pointer to buffer.
    685728  @param[in, out] BufferSize     Pointer to buffer size.
     
    697740  IN     UINT8                      *Filename,
    698741  IN     UINTN                      *BlockSize,
     742  IN     UINTN                      *WindowSize,
    699743  IN     UINT8                      *BufferPtr,
    700744  IN OUT UINT64                     *BufferSize,
     
    704748  EFI_MTFTP4_PROTOCOL *Mtftp4;
    705749  EFI_MTFTP4_TOKEN    Token;
    706   EFI_MTFTP4_OPTION   ReqOpt[1];
     750  EFI_MTFTP4_OPTION   ReqOpt[2];
    707751  UINT32              OptCnt;
    708   UINT8               OptBuf[128];
     752  UINT8               BlksizeBuf[10];
     753  UINT8               WindowsizeBuf[10];
    709754  EFI_STATUS          Status;
    710755
     
    720765
    721766  if (BlockSize != NULL) {
    722     ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
    723     ReqOpt[0].ValueStr  = OptBuf;
    724     PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX);
     767    ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
     768    ReqOpt[OptCnt].ValueStr  = BlksizeBuf;
     769    PxeBcUintnToAscDec (*BlockSize, ReqOpt[OptCnt].ValueStr, sizeof (BlksizeBuf));
     770    OptCnt++;
     771  }
     772
     773  if (WindowSize != NULL) {
     774    ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
     775    ReqOpt[OptCnt].ValueStr  = WindowsizeBuf;
     776    PxeBcUintnToAscDec (*WindowSize, ReqOpt[OptCnt].ValueStr, sizeof (WindowsizeBuf));
    725777    OptCnt++;
    726778  }
     
    840892  @param[in]       Filename       Pointer to boot file name.
    841893  @param[in]       BlockSize      Pointer to required block size.
     894  @param[in]       WindowSize     Pointer to required window size.
    842895  @param[in]       BufferPtr      Pointer to buffer.
    843896  @param[in, out]  BufferSize     Pointer to buffer size.
     
    855908  IN     UINT8                         *Filename,
    856909  IN     UINTN                         *BlockSize,
     910  IN     UINTN                         *WindowSize,
    857911  IN     UINT8                         *BufferPtr,
    858912  IN OUT UINT64                        *BufferSize,
     
    862916  EFI_MTFTP4_PROTOCOL *Mtftp4;
    863917  EFI_MTFTP4_TOKEN    Token;
    864   EFI_MTFTP4_OPTION   ReqOpt[1];
     918  EFI_MTFTP4_OPTION   ReqOpt[2];
    865919  UINT32              OptCnt;
    866   UINT8               OptBuf[128];
     920  UINT8               BlksizeBuf[10];
     921  UINT8               WindowsizeBuf[10];
    867922  EFI_STATUS          Status;
    868923
     
    878933
    879934  if (BlockSize != NULL) {
    880     ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
    881     ReqOpt[0].ValueStr  = OptBuf;
    882     PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX);
     935    ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];
     936    ReqOpt[OptCnt].ValueStr  = BlksizeBuf;
     937    PxeBcUintnToAscDec (*BlockSize, ReqOpt[OptCnt].ValueStr, sizeof (BlksizeBuf));
     938    OptCnt++;
     939  }
     940
     941  if (WindowSize != NULL) {
     942    ReqOpt[OptCnt].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_WINDOWSIZE_INDEX];
     943    ReqOpt[OptCnt].ValueStr  = WindowsizeBuf;
     944    PxeBcUintnToAscDec (*WindowSize, ReqOpt[OptCnt].ValueStr, sizeof (WindowsizeBuf));
    883945    OptCnt++;
    884946  }
     
    923985  @param[in]      Filename       Pointer to boot file name.
    924986  @param[in]      BlockSize      Pointer to required block size.
     987  @param[in]      WindowSize     Pointer to required window size.
    925988  @param[in, out] BufferSize     Pointer to buffer size.
    926989
     
    9371000  IN     UINT8                      *Filename,
    9381001  IN     UINTN                      *BlockSize,
     1002  IN     UINTN                      *WindowSize,
    9391003  IN OUT UINT64                     *BufferSize
    9401004  )
     
    9461010             Filename,
    9471011             BlockSize,
     1012             WindowSize,
    9481013             BufferSize
    9491014             );
     
    9541019             Filename,
    9551020             BlockSize,
     1021             WindowSize,
    9561022             BufferSize
    9571023             );
     
    9671033  @param[in]      Filename       Pointer to boot file name.
    9681034  @param[in]      BlockSize      Pointer to required block size.
     1035  @param[in]      WindowSize     Pointer to required window size.
    9691036  @param[in]      BufferPtr      Pointer to buffer.
    9701037  @param[in, out] BufferSize     Pointer to buffer size.
     
    9821049  IN     UINT8                      *Filename,
    9831050  IN     UINTN                      *BlockSize,
     1051  IN     UINTN                      *WindowSize,
    9841052  IN     UINT8                      *BufferPtr,
    9851053  IN OUT UINT64                     *BufferSize,
     
    9931061             Filename,
    9941062             BlockSize,
     1063             WindowSize,
    9951064             BufferPtr,
    9961065             BufferSize,
     
    10031072             Filename,
    10041073             BlockSize,
     1074             WindowSize,
    10051075             BufferPtr,
    10061076             BufferSize,
     
    10691139  @param[in]       Filename       Pointer to boot file name.
    10701140  @param[in]       BlockSize      Pointer to required block size.
     1141  @param[in]       WindowSize     Pointer to required window size.
    10711142  @param[in]       BufferPtr      Pointer to buffer.
    10721143  @param[in, out]  BufferSize     Pointer to buffer size.
     
    10841155  IN     UINT8                         *Filename,
    10851156  IN     UINTN                         *BlockSize,
     1157  IN     UINTN                         *WindowSize,
    10861158  IN     UINT8                         *BufferPtr,
    10871159  IN OUT UINT64                        *BufferSize,
     
    10951167             Filename,
    10961168             BlockSize,
     1169             WindowSize,
    10971170             BufferPtr,
    10981171             BufferSize,
     
    11051178             Filename,
    11061179             BlockSize,
     1180             WindowSize,
    11071181             BufferPtr,
    11081182             BufferSize,
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcMtftp.h

    r77662 r80721  
    22  Functions declaration related with Mtftp for UefiPxeBc Driver.
    33
    4   Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
     4  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
    55
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    2115#define PXE_MTFTP_OPTION_TSIZE_INDEX       2
    2216#define PXE_MTFTP_OPTION_MULTICAST_INDEX   3
    23 #define PXE_MTFTP_OPTION_MAXIMUM_INDEX     4
     17#define PXE_MTFTP_OPTION_WINDOWSIZE_INDEX  4
     18#define PXE_MTFTP_OPTION_MAXIMUM_INDEX     5
    2419#define PXE_MTFTP_OPTBUF_MAXNUM_INDEX      128
    2520
     
    3530  @param[in]      Filename       Pointer to boot file name.
    3631  @param[in]      BlockSize      Pointer to required block size.
     32  @param[in]      WindowSize     Pointer to required window size.
    3733  @param[in, out] BufferSize     Pointer to buffer size.
    3834
     
    4945  IN     UINT8                      *Filename,
    5046  IN     UINTN                      *BlockSize,
     47  IN     UINTN                      *WindowSize,
    5148  IN OUT UINT64                     *BufferSize
    5249  );
     
    6057  @param[in]      Filename       Pointer to boot file name.
    6158  @param[in]      BlockSize      Pointer to required block size.
     59  @param[in]      WindowSize     Pointer to required window size.
    6260  @param[in]      BufferPtr      Pointer to buffer.
    6361  @param[in, out] BufferSize     Pointer to buffer size.
     
    7573  IN     UINT8                      *Filename,
    7674  IN     UINTN                      *BlockSize,
     75  IN     UINTN                      *WindowSize,
    7776  IN     UINT8                      *BufferPtr,
    7877  IN OUT UINT64                     *BufferSize,
     
    116115  @param[in]       Filename       Pointer to boot file name.
    117116  @param[in]       BlockSize      Pointer to required block size.
     117  @param[in]       WindowSize     Pointer to required window size.
    118118  @param[in]       BufferPtr      Pointer to buffer.
    119119  @param[in, out]  BufferSize     Pointer to buffer size.
     
    131131  IN     UINT8                         *Filename,
    132132  IN     UINTN                         *BlockSize,
     133  IN     UINTN                         *WindowSize,
    133134  IN     UINT8                         *BufferPtr,
    134135  IN OUT UINT64                        *BufferSize,
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcSupport.c

    r77662 r80721  
    22  Support functions implementation for UefiPxeBc Driver.
    33
    4   Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
     
    3731  EFI_PXE_BASE_CODE_MODE   *Mode;
    3832  EFI_STATUS               Status;
     33  EFI_ARP_CONFIG_DATA      ArpConfigData;
    3934
    4035  Mode   = Private->PxeBc.Mode;
    4136  Status = EFI_SUCCESS;
    42 
    43   if (Mode->UsingIpv6) {
    44 
    45     if (StationIp != NULL) {
    46       CopyMem (&Private->Udp6CfgData.StationAddress, StationIp, sizeof (EFI_IPv6_ADDRESS));
    47       CopyMem (&Private->Ip6CfgData.StationAddress, StationIp, sizeof (EFI_IPv6_ADDRESS));
    48     }
     37  ZeroMem (&ArpConfigData, sizeof (EFI_ARP_CONFIG_DATA));
     38
     39  if (Mode->UsingIpv6 && StationIp != NULL) {
     40    //
     41    // Overwrite Udp6CfgData/Ip6CfgData StationAddress.
     42    //
     43    CopyMem (&Private->Udp6CfgData.StationAddress, StationIp, sizeof (EFI_IPv6_ADDRESS));
     44    CopyMem (&Private->Ip6CfgData.StationAddress, StationIp, sizeof (EFI_IPv6_ADDRESS));
    4945
    5046    //
     
    6258  } else {
    6359    if (StationIp != NULL) {
     60      //
     61      // Reconfigure the ARP instance with station Ip address.
     62      //
     63      ArpConfigData.SwAddressType   = 0x0800;
     64      ArpConfigData.SwAddressLength = (UINT8) sizeof (EFI_IPv4_ADDRESS);
     65      ArpConfigData.StationAddress = StationIp;
     66
     67      Private->Arp->Configure (Private->Arp, NULL);
     68      Private->Arp->Configure (Private->Arp, &ArpConfigData);
     69
     70      //
     71      // Overwrite Udp4CfgData/Ip4CfgData StationAddress.
     72      //
    6473      CopyMem (&Private->Udp4CfgData.StationAddress, StationIp, sizeof (EFI_IPv4_ADDRESS));
    6574      CopyMem (&Private->Ip4CfgData.StationAddress, StationIp, sizeof (EFI_IPv4_ADDRESS));
     
    6776
    6877    if (SubnetMask != NULL) {
     78      //
     79      // Overwrite Udp4CfgData/Ip4CfgData SubnetMask.
     80      //
    6981      CopyMem (&Private->Udp4CfgData.SubnetMask, SubnetMask, sizeof (EFI_IPv4_ADDRESS));
    7082      CopyMem (&Private->Ip4CfgData.SubnetMask, SubnetMask, sizeof (EFI_IPv4_ADDRESS));
    7183    }
    7284
    73     //
    74     // Reconfigure the Ip4 instance to capture background ICMP packets with new station Ip address.
    75     //
    76     Private->Ip4->Cancel (Private->Ip4, &Private->IcmpToken);
    77     Private->Ip4->Configure (Private->Ip4, NULL);
    78 
    79     Status = Private->Ip4->Configure (Private->Ip4, &Private->Ip4CfgData);
    80     if (EFI_ERROR (Status)) {
    81       goto ON_EXIT;
    82     }
    83 
    84     Status = Private->Ip4->Receive (Private->Ip4, &Private->IcmpToken);
     85    if (StationIp != NULL && SubnetMask != NULL) {
     86      //
     87      // Updated the route table.
     88      //
     89      Mode->RouteTableEntries                = 1;
     90      Mode->RouteTable[0].IpAddr.Addr[0]     = StationIp->Addr[0] & SubnetMask->Addr[0];
     91      Mode->RouteTable[0].SubnetMask.Addr[0] = SubnetMask->Addr[0];
     92      Mode->RouteTable[0].GwAddr.Addr[0]     = 0;
     93    }
     94
     95    if (StationIp != NULL || SubnetMask != NULL) {
     96      //
     97      // Reconfigure the Ip4 instance to capture background ICMP packets with new station Ip address.
     98      //
     99      Private->Ip4->Cancel (Private->Ip4, &Private->IcmpToken);
     100      Private->Ip4->Configure (Private->Ip4, NULL);
     101
     102      Status = Private->Ip4->Configure (Private->Ip4, &Private->Ip4CfgData);
     103      if (EFI_ERROR (Status)) {
     104        goto ON_EXIT;
     105      }
     106
     107      Status = Private->Ip4->Receive (Private->Ip4, &Private->IcmpToken);
     108    }
    85109  }
    86110
     
    14811505  ZeroMem (&Time, sizeof (EFI_TIME));
    14821506  gRT->GetTime (&Time, NULL);
    1483   CurrentStamp = (UINT64)
    1484     (
    1485       ((((((Time.Year - 1900) * 360 +
    1486        (Time.Month - 1)) * 30 +
    1487        (Time.Day - 1)) * 24 + Time.Hour) * 60 +
    1488        Time.Minute) * 60 + Time.Second) * 100
    1489        + DivU64x32(Time.Nanosecond, 10000000)
    1490     );
     1507  CurrentStamp = MultU64x32 (
     1508                   ((((UINT32)(Time.Year - 1900) * 360 + (Time.Month - 1) * 30 + (Time.Day - 1)) * 24 + Time.Hour) * 60 + Time.Minute) * 60 + Time.Second,
     1509                   100
     1510                   ) +
     1511                 DivU64x32 (
     1512                   Time.Nanosecond,
     1513                   10000000
     1514                   );
    14911515
    14921516  //
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcSupport.h

    r77662 r80721  
    22  Support functions declaration for UefiPxeBc Driver.
    33
    4   Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>
    5 
    6   This program and the accompanying materials
    7   are licensed and made available under the terms and conditions of the BSD License
    8   which accompanies this distribution.  The full text of the license may be found at
    9   http://opensource.org/licenses/bsd-license.php.
    10 
    11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     4  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
     5
     6  SPDX-License-Identifier: BSD-2-Clause-Patent
    137
    148**/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf

    r77662 r80721  
    33#
    44#  This driver provides PXE Base Code Protocol which is used to accessing
    5 #  PXE-compatible device for network access or booting. It could work together
    6 with an IPv4 stack, an IPv6 stack or both.
     5#  PXE-compatible device for network access or booting. This driver supports
     6both IPv4 and IPv6 network stack.
    77#
     8#  Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>
    89#
    9 #  Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
    10 #
    11 #  This program and the accompanying materials
    12 #  are licensed and made available under the terms and conditions of the BSD License
    13 #  which accompanies this distribution. The full text of the license may be found at
    14 #  http://opensource.org/licenses/bsd-license.php.
    15 #
    16 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    17 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     10#  SPDX-License-Identifier: BSD-2-Clause-Patent
    1811#
    1912##
     
    3225# The following information is for reference only and not required by the build tools.
    3326#
    34 #  VALID_ARCHITECTURES           = IA32 X64 IPF
     27#  VALID_ARCHITECTURES           = IA32 X64
    3528#
    3629
     
    5649  MdePkg/MdePkg.dec
    5750  MdeModulePkg/MdeModulePkg.dec
     51  NetworkPkg/NetworkPkg.dec
    5852
    5953
     
    108102[Pcd]
    109103  gEfiMdeModulePkgTokenSpaceGuid.PcdTftpBlockSize      ## SOMETIMES_CONSUMES
     104  gEfiNetworkPkgTokenSpaceGuid.PcdPxeTftpWindowSize    ## SOMETIMES_CONSUMES
     105  gEfiNetworkPkgTokenSpaceGuid.PcdIPv4PXESupport       ## CONSUMES
     106  gEfiNetworkPkgTokenSpaceGuid.PcdIPv6PXESupport       ## CONSUMES
     107
    110108[UserExtensions.TianoCore."ExtraFiles"]
    111109  UefiPxeBcDxeExtra.uni
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.uni

    r77662 r80721  
    66// with an IPv4 stack, an IPv6 stack or both.
    77//
    8 // Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
     8// Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
    99//
    10 // This program and the accompanying materials
    11 // are licensed and made available under the terms and conditions of the BSD License
    12 // which accompanies this distribution. The full text of the license may be found at
    13 // http://opensource.org/licenses/bsd-license.php.
    14 //
    15 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    16 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     10// SPDX-License-Identifier: BSD-2-Clause-Patent
    1711//
    1812// **/
  • trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxeExtra.uni

    r77662 r80721  
    22// UefiPxeBcDxe Localized Strings and Content
    33//
    4 // Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
     4// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
    55//
    6 // This program and the accompanying materials
    7 // are licensed and made available under the terms and conditions of the BSD License
    8 // which accompanies this distribution. The full text of the license may be found at
    9 // http://opensource.org/licenses/bsd-license.php.
    10 //
    11 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
    12 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     6// SPDX-License-Identifier: BSD-2-Clause-Patent
    137//
    148// **/
    159
    16 #string STR_PROPERTIES_MODULE_NAME 
    17 #language en-US 
     10#string STR_PROPERTIES_MODULE_NAME
     11#language en-US
    1812"Uefi PXE DXE"
    1913
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