fixing numerous bugs, was included. BITS 2.0, part of Windows XP SP2, installed support for performing concurrent foreground downloads, using Server Message Block paths for remote names, downloading portions of a file, changing the prefix or complete name of a remote name, and limiting client bandwidth usage. BITS is upgradeable to version 2.5 in Windows XP. http.sys and the HTTP Server API, the kernel-mode HTTP server for applications, backported from Windows Server 2003, was included. Support for Secure Digital I/O host controllers and SD/MMC storage devices compliant with SDIO 1.0 beginning with Windows XP SP2 through a Microsoft-supplied bus driver. Bluetooth support Windows XP Service Pack 2 added native Bluetooth support. The Windows XP Bluetooth stack supports external or integrated Bluetooth dongles attached through USB. Windows XP SP2 and SP3 support Bluetooth 1.1 (but not 1.0), Bluetooth 2.0 and Bluetooth 2.0+EDR. The Bluetooth stack supports the following Bluetooth profiles natively: PAN, SPP, DUN, HID, and HCRP. Third-party stacks may replace the Windows XP stack and may support more profiles or newer versions of Bluetooth. Executable space protection Windows XP Service Pack 2 introduced Data Execution Prevention. This feature, present as NX (EVP) in AMD's AMD64 processors and as XD (EDB) in Intel's processors, can flag certain parts of memory as containing data instead of executable code, which prevents overflow errors from resulting in arbitrary code execution. It is intended to prevent an application or service from executing code from a non-executable memory region. This helps prevent certain exploits that store code via a buffer overflow, for example. DEP runs in two modes: hardware-enforced DEP for CPUs that can mark memory pages as nonexecutable, and software-enforced DEP with a limited prevention for CPUs that do not have hardware support. Software-enforced DEP does not protect from execution of code in data pages, but instead from another type of attack (SEH overwrite). Hardware-enforced DEP enables the NX bit on compatible CPUs, through the automatic use of PAE kernel in 32-bit Windows and the native support on 64-bit kernels. Software DEP, while unrelated to the NX bit, is what Microsoft calls their enforcement of "Safe Structured Exception Handling". Software DEP/SafeSEH simply checks when an exception is thrown to make sure that the exception is registered in a function table for the application, and requires the program to be built with it. If DEP is enabled for all applications, users gain additional resistance against zero-day