diff --git a/.amend.cmd b/.amend.cmd new file mode 100644 index 00000000..bd37740f --- /dev/null +++ b/.amend.cmd @@ -0,0 +1,2 @@ +echo off +echo .>.amend \ No newline at end of file diff --git a/ChangeLog b/ChangeLog index e28fff32..111b6d5d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,12 @@ For the latest changes, please visit: https://github.com/pbatard/libwdi/commits/master +o v1.3.0 (2017.04.18) + Bugfixes: + - fix issues with extended characters in current user directory + Improvements: + - drop Windows XP and Vista support + o v1.2.5 (2016.01.22) Bugfixes: - fix possible crash when deleting the self signing private key diff --git a/Makefile.am b/Makefile.am index 186158f9..3d5ac0d7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,4 +4,12 @@ SUBDIRS = libwdi if BUILD_EXAMPLES SUBDIRS += examples +ZADIG_VERSION = $(shell sed -n 's/^.*\"FileVersion\", \"\(.*\)\..*\"/\1/p' examples/zadig.rc) endif + +# This step produces the UPX compressed and signed releases that are made available for public download +# NB: UPX v3.09 or later is needed for LZMA compression (http://upx.sourceforge.net/) +zadig_release: + @cp examples/zadig.exe ./zadig-$(ZADIG_VERSION).exe + @upx --lzma zadig-$(ZADIG_VERSION).exe + @cmd.exe //c _sign.cmd zadig-$(ZADIG_VERSION).exe diff --git a/_bm.sh b/_bm.sh index 509a6e60..9d4fb79a 100755 --- a/_bm.sh +++ b/_bm.sh @@ -2,24 +2,15 @@ # Create and upload a Zadig release # !!!THIS SCRIPT IS FOR INTERNAL DEVELOPER USE ONLY!!! -target_dir=/e/dailies/libwdi - type -P git &>/dev/null || { echo "Git not found. Aborting." >&2; exit 1; } -type -P sed &>/dev/null || { echo "Set not found. Aborting." >&2; exit 1; } +type -P sed &>/dev/null || { echo "Sed not found. Aborting." >&2; exit 1; } type -P upx &>/dev/null || { echo "UPX executable not found. Aborting." >&2; exit 1; } -zadig_version=`sed -n 's/^.*\"FileVersion\", \"\(.*\)\..*\"/\1/p' examples/zadig.rc` -echo Building Zadig v$zadig_version... - git clean -fdx ./autogen.sh --disable-shared -cd libwdi -make -cd ../examples -make zadig.exe -type -P SetACL &>/dev/null && { SetACL -on ./zadig.exe -ot file -actn ace -ace "n:S-1-5-18;p:read,read_ex;s:y"; } -upx --lzma zadig.exe -cp zadig.exe $target_dir/zadig_$zadig_version.exe -cmd.exe /k zadig_sign.bat "$target_dir/zadig_$zadig_version.exe" -cd .. +zadig_version=`sed -n 's/^.*\"FileVersion\", \"\(.*\)\..*\"/\1/p' examples/zadig.rc` +echo Building Zadig v$zadig_version... + +make -j12 +make zadig_release \ No newline at end of file diff --git a/_sign.cmd b/_sign.cmd new file mode 100644 index 00000000..bd5df53d --- /dev/null +++ b/_sign.cmd @@ -0,0 +1,8 @@ +@echo off +:retry_sha1 +"C:\Program Files (x86)\Windows Kits\8.1\bin\x64\signtool" sign /v /sha1 655f6413a8f721e3286ace95025c9e0ea132a984 /fd SHA1 /tr http://timestamp.comodoca.com/rfc3161 /td SHA1 %1 +if ERRORLEVEL 1 goto retry_sha1 +:retry_sha256 +"C:\Program Files (x86)\Windows Kits\8.1\bin\x64\signtool" sign /as /v /sha1 5759b23dc8f45e9120a7317f306e5b6890b612f0 /fd SHA256 /tr http://timestamp.comodoca.com/rfc3161 /td SHA256 %1 +if ERRORLEVEL 1 goto retry_sha256 +exit diff --git a/configure.ac b/configure.ac index b45bd389..f8adf202 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([libwdi], [1.2.5], [libwdi-devel@lists.sourceforge.net], [libwdi], [http://libwdi.akeo.ie]) +AC_INIT([libwdi], [1.3.0], [libwdi-devel@lists.sourceforge.net], [libwdi], [http://libwdi.akeo.ie]) AM_INIT_AUTOMAKE([-Wno-portability 1.11 foreign]) AC_CONFIG_SRCDIR([libwdi/libwdi.c]) AC_CONFIG_MACRO_DIR([m4]) diff --git a/examples/wdi-simple.rc b/examples/wdi-simple.rc index 8d953a72..92e82c0d 100644 --- a/examples/wdi-simple.rc +++ b/examples/wdi-simple.rc @@ -7,8 +7,8 @@ #endif VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,2,5,700 - PRODUCTVERSION 1,2,5,700 + FILEVERSION 1,3,0,701 + PRODUCTVERSION 1,3,0,701 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L @@ -25,13 +25,13 @@ BEGIN BEGIN VALUE "CompanyName", "akeo.ie" VALUE "FileDescription", "WDI-Simple" - VALUE "FileVersion", "1.2.5.700" + VALUE "FileVersion", "1.3.0.701" VALUE "InternalName", "WDI-Simple" - VALUE "LegalCopyright", "© 2010-2014 Pete Batard (LGPL v3)" + VALUE "LegalCopyright", "© 2010-2017 Pete Batard (LGPL v3)" VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/lesser.html" VALUE "OriginalFilename", "wdi-simple.exe" VALUE "ProductName", "WDI-Simple" - VALUE "ProductVersion", "1.2.5.700" + VALUE "ProductVersion", "1.3.0.701" VALUE "Comments", "http://libwdi.akeo.ie" END END diff --git a/examples/zadic.rc b/examples/zadic.rc index fdfd0e28..78314fb9 100644 --- a/examples/zadic.rc +++ b/examples/zadic.rc @@ -56,8 +56,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,2,5,700 - PRODUCTVERSION 1,2,5,700 + FILEVERSION 1,3,0,701 + PRODUCTVERSION 1,3,0,701 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L @@ -74,13 +74,13 @@ BEGIN BEGIN VALUE "CompanyName", "akeo.ie" VALUE "FileDescription", "Zadic" - VALUE "FileVersion", "1.2.5.700" + VALUE "FileVersion", "1.3.0.701" VALUE "InternalName", "Zadic" - VALUE "LegalCopyright", "© 2010-2014 Pete Batard (LGPL v3)" + VALUE "LegalCopyright", "© 2010-2017 Pete Batard (LGPL v3)" VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/lesser.html" VALUE "OriginalFilename", "zadic.exe" VALUE "ProductName", "Zadic" - VALUE "ProductVersion", "1.2.5.700" + VALUE "ProductVersion", "1.3.0.701" VALUE "Comments", "http://libwdi.akeo.ie" END END diff --git a/examples/zadig.h b/examples/zadig.h index 442de8a8..3337edeb 100644 --- a/examples/zadig.h +++ b/examples/zadig.h @@ -59,7 +59,7 @@ #define FIELD_ORANGE RGB(255,240,200) #define ARROW_GREEN RGB(92,228,65) #define ARROW_ORANGE RGB(253,143,56) -#define APP_VERSION "Zadig 2.2.700" +#define APP_VERSION "Zadig 2.3.701" // These are used to flag end users about the driver they are going to replace enum driver_type { diff --git a/examples/zadig.rc b/examples/zadig.rc index f39849c7..59639648 100644 --- a/examples/zadig.rc +++ b/examples/zadig.rc @@ -246,8 +246,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,2,682,700 - PRODUCTVERSION 2,2,682,700 + FILEVERSION 2,3,682,701 + PRODUCTVERSION 2,3,682,701 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L @@ -264,13 +264,13 @@ BEGIN BEGIN VALUE "CompanyName", "akeo.ie" VALUE "FileDescription", "Zadig" - VALUE "FileVersion", "2.2.700" + VALUE "FileVersion", "2.3.701" VALUE "InternalName", "Zadig" - VALUE "LegalCopyright", "© 2010-2016 Pete Batard (GPL v3)" + VALUE "LegalCopyright", "© 2010-2017 Pete Batard (GPL v3)" VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html" VALUE "OriginalFilename", "zadig.exe" VALUE "ProductName", "Zadig" - VALUE "ProductVersion", "2.2.700" + VALUE "ProductVersion", "2.3.701" VALUE "Comments", "http://libwdi.akeo.ie" END END diff --git a/examples/zadig_sign.bat b/examples/zadig_sign.bat deleted file mode 100644 index b5c4836f..00000000 --- a/examples/zadig_sign.bat +++ /dev/null @@ -1,9 +0,0 @@ -@echo off -:retry -set /p password=Please enter PFX password: -"C:\Program Files (x86)\Windows Kits\8.1\bin\x64\signtool" sign /v /fd SHA1 /f D:\Secured\akeo\sha1\akeo.p12 /p %password% /tr http://timestamp.comodoca.com/rfc3161 /td SHA1 %1 %2 -if ERRORLEVEL 1 goto retry -@"C:\Program Files (x86)\Windows Kits\8.1\bin\x64\signtool" sign /as /v /fd SHA256 /f D:\Secured\akeo\akeo.p12 /p %password% /tr http://timestamp.comodoca.com/rfc3161 /td SHA256 %1 %2 -@if ERRORLEVEL 1 goto retry -@set password= -@exit \ No newline at end of file diff --git a/libwdi/libwdi.rc b/libwdi/libwdi.rc index 7ddb111f..050ac224 100644 --- a/libwdi/libwdi.rc +++ b/libwdi/libwdi.rc @@ -50,8 +50,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,2,5,700 - PRODUCTVERSION 1,2,5,700 + FILEVERSION 1,3,0,701 + PRODUCTVERSION 1,3,0,701 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L @@ -68,13 +68,13 @@ BEGIN BEGIN VALUE "CompanyName", "akeo.ie" VALUE "FileDescription", "libwdi: Windows Driver Installer Library" - VALUE "FileVersion", "1.2.5.700" + VALUE "FileVersion", "1.3.0.701" VALUE "InternalName", "libwdi" - VALUE "LegalCopyright", "© 2010-2014 Pete Batard (LGPL v3)" + VALUE "LegalCopyright", "© 2010-2017 Pete Batard (LGPL v3)" VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/lesser.html" VALUE "OriginalFilename", "libwdi" VALUE "ProductName", "libwdi" - VALUE "ProductVersion", "1.2.5.700" + VALUE "ProductVersion", "1.3.0.701" VALUE "Comments", "http://libwdi.akeo.ie" END END diff --git a/libwdi/vid_data.c b/libwdi/vid_data.c index 1240e173..6751a405 100644 --- a/libwdi/vid_data.c +++ b/libwdi/vid_data.c @@ -29,7 +29,7 @@ struct vendor_name { /* * http://www.linux-usb.org/usb.ids - * Version: 2015.12.17 + * Version: 2017.02.12 */ static struct vendor_name usb_vendor[] = { { 0x0001, "Fry's Electronics" }, @@ -137,6 +137,7 @@ static struct vendor_name usb_vendor[] = { { 0x0445, "Lucent Technologies, Inc." }, { 0x0446, "NMB Technologies Corp." }, { 0x0447, "Momentum Microsystems" }, + { 0x0449, "Duta Multi Robotik" }, { 0x044a, "Shamrock Tech. Co., Ltd" }, { 0x044b, "WSI" }, { 0x044c, "CCL/ITRI" }, @@ -881,6 +882,7 @@ static struct vendor_name usb_vendor[] = { { 0x07da, "Arasan Chip Systems" }, { 0x07de, "Diamond Multimedia" }, { 0x07df, "David Electronics Co., Ltd" }, + { 0x07e0, "NCP engineering GmbH" }, { 0x07e1, "Ambient Technologies, Inc." }, { 0x07e2, "Elmeg GmbH & Co., Ltd" }, { 0x07e3, "Planex Communications, Inc." }, @@ -899,6 +901,7 @@ static struct vendor_name usb_vendor[] = { { 0x07f7, "Century Corp." }, { 0x07f9, "Dotop Technology, Inc." }, { 0x07fa, "DrayTek Corp." }, + { 0x07fc, "Thomann" }, { 0x07fd, "Mark of the Unicorn" }, { 0x07ff, "Unknown" }, { 0x0801, "MagTek" }, @@ -1127,6 +1130,7 @@ static struct vendor_name usb_vendor[] = { { 0x0993, "Gemstar eBook Group, Ltd" }, { 0x0996, "Integrated Telecom Express, Inc." }, { 0x099a, "Zippy Technology Corp." }, + { 0x099e, "Trimble Navigation, Ltd" }, { 0x09a3, "PairGain Technologies" }, { 0x09a4, "Contech Research, Inc." }, { 0x09a5, "VCON Telecommunications" }, @@ -1151,6 +1155,7 @@ static struct vendor_name usb_vendor[] = { { 0x09c4, "ACTiSYS Corp." }, { 0x09c5, "Memory Corp." }, { 0x09ca, "BMC Messsysteme GmbH" }, + { 0x09cb, "FLIR Systems" }, { 0x09cc, "Workbit Corp." }, { 0x09cd, "Psion Dacom Home Networks, Ltd" }, { 0x09ce, "City Electronics, Ltd" }, @@ -1158,7 +1163,8 @@ static struct vendor_name usb_vendor[] = { { 0x09d1, "NeoMagic, Inc." }, { 0x09d2, "Vreelin Engineering, Inc." }, { 0x09d3, "Com One" }, - { 0x09d7, "Novatel Wireless" }, + { 0x09d7, "NovAtel Inc." }, + { 0x09d8, "ELATEC" }, { 0x09d9, "KRF Tech, Ltd" }, { 0x09da, "A4Tech Co., Ltd." }, { 0x09db, "Measurement Computing Corp." }, @@ -1438,6 +1444,7 @@ static struct vendor_name usb_vendor[] = { { 0x0bf7, "Sunny Giken, Inc." }, { 0x0bf8, "Fujitsu Siemens Computers" }, { 0x0bfd, "Kvaser AB" }, + { 0x0c00, "FireFly Mouse Mat" }, { 0x0c04, "MOTO Development Group, Inc." }, { 0x0c05, "Appian Graphics" }, { 0x0c06, "Hasbro Games, Inc." }, @@ -1547,7 +1554,6 @@ static struct vendor_name usb_vendor[] = { { 0x0cc4, "emsys GmbH" }, { 0x0cc5, "Sendo" }, { 0x0cc6, "Intermagic Corp." }, - { 0x0cc7, "Kontron Medical AG" }, { 0x0cc8, "Technotools Corp." }, { 0x0cc9, "BroadMAX Technologies, Inc." }, { 0x0cca, "Amphenol" }, @@ -1556,6 +1562,7 @@ static struct vendor_name usb_vendor[] = { { 0x0ccd, "TerraTec Electronic GmbH" }, { 0x0cd4, "Bang Olufsen" }, { 0x0cd5, "LabJack Corporation" }, + { 0x0cd6, "Scheidt & Bachmann" }, { 0x0cd7, "NewChip S.r.l." }, { 0x0cd8, "JS Digitech, Inc." }, { 0x0cd9, "Hitachi Shin Din Cable, Ltd" }, @@ -1564,7 +1571,7 @@ static struct vendor_name usb_vendor[] = { { 0x0ce9, "Pico Technology" }, { 0x0cf1, "e-Conn Electronic Co., Ltd" }, { 0x0cf2, "ENE Technology, Inc." }, - { 0x0cf3, "Atheros Communications, Inc." }, + { 0x0cf3, "Qualcomm Atheros Communications" }, { 0x0cf4, "Fomtex Corp." }, { 0x0cf5, "Cellink Co., Ltd" }, { 0x0cf6, "Compucable Corp." }, @@ -1664,7 +1671,7 @@ static struct vendor_name usb_vendor[] = { { 0x0d97, "Santa Barbara Instrument Group" }, { 0x0d98, "Mars Semiconductor Corp." }, { 0x0d99, "Trazer Technologies, Inc." }, - { 0x0d9a, "RTX Telecom AS" }, + { 0x0d9a, "RTX AS" }, { 0x0d9b, "Tat Shing Electrical Co." }, { 0x0d9c, "Chee Chen Hi-Technology Co., Ltd" }, { 0x0d9d, "Sanwa Supply, Inc." }, @@ -1693,7 +1700,7 @@ static struct vendor_name usb_vendor[] = { { 0x0dc0, "G7 Solutions (formerly Great Notions)" }, { 0x0dc1, "Tamagawa Seiki Co., Ltd" }, { 0x0dc3, "Athena Smartcard Solutions, Inc." }, - { 0x0dc4, "Macpower Peripherals, Ltd" }, + { 0x0dc4, "inXtron, Inc." }, { 0x0dc5, "SDK Co., Ltd" }, { 0x0dc6, "Precision Squared Technology Corp." }, { 0x0dc7, "First Cable Line, Inc." }, @@ -1841,6 +1848,7 @@ static struct vendor_name usb_vendor[] = { { 0x0f0c, "CAS Corp." }, { 0x0f0d, "Hori Co., Ltd" }, { 0x0f0e, "Energy Full Corp." }, + { 0x0f0f, "Silego Technology Inc" }, { 0x0f11, "LD Didactic GmbH" }, { 0x0f12, "Mars Engineering Corp." }, { 0x0f13, "Acetek Technology Co., Ltd" }, @@ -1932,9 +1940,10 @@ static struct vendor_name usb_vendor[] = { { 0x0fdc, "Micro Plus" }, { 0x0fde, "Oregon Scientific" }, { 0x0fe0, "Osterhout Design Group" }, + { 0x0fe2, "Air Techniques" }, { 0x0fe4, "IN-Tech Electronics, Ltd" }, { 0x0fe5, "Greenconn (U.S.A.), Inc." }, - { 0x0fe6, "Kontron (Industrial Computer Source / ICS Advent)" }, + { 0x0fe6, "ICS Advent" }, { 0x0fe9, "DVICO" }, { 0x0fea, "United Computer Accessories" }, { 0x0feb, "CRS Electronic Co., Ltd" }, @@ -2521,17 +2530,22 @@ static struct vendor_name usb_vendor[] = { { 0x18e8, "Qcom" }, { 0x18ea, "Matrox Graphics, Inc." }, { 0x18ec, "Arkmicro Technologies Inc." }, + { 0x18f8, "[Maxxter]" }, + { 0x18fb, "Scriptel Corporation" }, { 0x18fd, "FineArch Inc." }, + { 0x1901, "GE Healthcare" }, { 0x1908, "GEMBIRD" }, { 0x190d, "Motorola GSG" }, { 0x1914, "Alco Digital Devices Limited" }, { 0x1915, "Nordic Semiconductor ASA" }, + { 0x191c, "Innovative Technology LTD" }, { 0x1923, "FitLinxx" }, { 0x1926, "NextWindow" }, { 0x192f, "Avago Technologies, Pte." }, { 0x1930, "Shenzhen Xianhe Technology Co., Ltd." }, { 0x1931, "Ningbo Broad Telecommunication Co., Ltd." }, { 0x1934, "Feature Integration Technology Inc. (Fintek)" }, + { 0x1938, "Meinberg Funkuhren GmbH & Co. KG" }, { 0x1941, "Dream Link" }, { 0x1943, "Sensoray Co., Inc." }, { 0x1949, "Lab126, Inc." }, @@ -2625,6 +2639,7 @@ static struct vendor_name usb_vendor[] = { { 0x1b04, "Meilhaus Electronic GmbH" }, { 0x1b0e, "BLUTRONICS S.r.l." }, { 0x1b1c, "Corsair" }, + { 0x1b1f, "eQ-3 Entwicklung GmbH" }, { 0x1b20, "MStar Semiconductor, Inc." }, { 0x1b22, "WiLinx Corp." }, { 0x1b26, "Cellex Power Products, Inc." }, @@ -2756,6 +2771,7 @@ static struct vendor_name usb_vendor[] = { { 0x1d5b, "Smartronix, Inc." }, { 0x1d6b, "Linux Foundation" }, { 0x1d90, "Citizen" }, + { 0x1d9d, "Sigma Sport" }, { 0x1de1, "Actions Microelectronics Co." }, { 0x1e0e, "Qualcomm / Option" }, { 0x1e10, "Point Grey Research, Inc." }, @@ -2855,6 +2871,7 @@ static struct vendor_name usb_vendor[] = { { 0x2676, "Basler AG" }, { 0x2730, "Citizen" }, { 0x2735, "DigitalWay" }, + { 0x273f, "Hughski Limited" }, { 0x2770, "NHJ, Ltd" }, { 0x27b8, "ThingM" }, { 0x2821, "ASUSTek Computer Inc." }, @@ -2864,8 +2881,10 @@ static struct vendor_name usb_vendor[] = { { 0x2a03, "dog hunter AG" }, { 0x2a37, "RTD Embedded Technologies, Inc." }, { 0x2a45, "Meizu Corp." }, + { 0x2b24, "KeepKey LLC" }, { 0x2c02, "Planex Communications" }, { 0x2c1a, "Dolphin Peripherals" }, + { 0x2dcf, "Dialog Semiconductor" }, { 0x2fb2, "Fujitsu, Ltd" }, { 0x3125, "Eagletron" }, { 0x3136, "Navini Networks" },