From dc7f74f24f52c8e43be3b4f624c3d77c47a667de Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Mon, 26 Dec 2016 17:15:36 +0100 Subject: [PATCH] Added patch to create ProxyEnable key on wineprefix update. --- patches/patchinstall.sh | 33 ++++++++++ ...itialize-proxy-settings-registry-key.patch | 60 +++++++++++++++++++ patches/wineboot-ProxySettings/definition | 3 + 3 files changed, 96 insertions(+) create mode 100644 patches/wineboot-ProxySettings/0001-wineboot-Initialize-proxy-settings-registry-key.patch create mode 100644 patches/wineboot-ProxySettings/definition diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 4c72d432..30dd8b72 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -366,6 +366,7 @@ patch_enable_all () enable_wine_inf_WMP_12="$1" enable_wineboot_DriveSerial="$1" enable_wineboot_HKEY_DYN_DATA="$1" + enable_wineboot_ProxySettings="$1" enable_wineboot_drivers_etc_Stubs="$1" enable_winecfg_Libraries="$1" enable_winecfg_Staging="$1" @@ -1286,6 +1287,9 @@ patch_enable () wineboot-HKEY_DYN_DATA) enable_wineboot_HKEY_DYN_DATA="$2" ;; + wineboot-ProxySettings) + enable_wineboot_ProxySettings="$2" + ;; wineboot-drivers_etc_Stubs) enable_wineboot_drivers_etc_Stubs="$2" ;; @@ -2072,6 +2076,17 @@ if test "$enable_wined3d_CSMT_Helper" -eq 1; then enable_wined3d_Silence_FIXMEs=1 fi +if test "$enable_wineboot_ProxySettings" -eq 1; then + if test "$enable_wineboot_DriveSerial" -gt 1; then + abort "Patchset wineboot-DriveSerial disabled, but wineboot-ProxySettings depends on that." + fi + if test "$enable_wineboot_drivers_etc_Stubs" -gt 1; then + abort "Patchset wineboot-drivers_etc_Stubs disabled, but wineboot-ProxySettings depends on that." + fi + enable_wineboot_DriveSerial=1 + enable_wineboot_drivers_etc_Stubs=1 +fi + if test "$enable_windowscodecs_TIFF_Support" -eq 1; then if test "$enable_windowscodecs_GIF_Encoder" -gt 1; then abort "Patchset windowscodecs-GIF_Encoder disabled, but windowscodecs-TIFF_Support depends on that." @@ -7716,6 +7731,24 @@ if test "$enable_wineboot_drivers_etc_Stubs" -eq 1; then ) >> "$patchlist" fi +# Patchset wineboot-ProxySettings +# | +# | This patchset has the following (direct or indirect) dependencies: +# | * wineboot-DriveSerial, wineboot-drivers_etc_Stubs +# | +# | This patchset fixes the following Wine bugs: +# | * [#42024] Create ProxyEnable key on wineprefix update +# | +# | Modified files: +# | * programs/wineboot/Makefile.in, programs/wineboot/wineboot.c +# | +if test "$enable_wineboot_ProxySettings" -eq 1; then + patch_apply wineboot-ProxySettings/0001-wineboot-Initialize-proxy-settings-registry-key.patch + ( + echo '+ { "Michael Müller", "wineboot: Initialize proxy settings registry key.", 1 },'; + ) >> "$patchlist" +fi + # Patchset winecfg-Libraries # | # | Modified files: diff --git a/patches/wineboot-ProxySettings/0001-wineboot-Initialize-proxy-settings-registry-key.patch b/patches/wineboot-ProxySettings/0001-wineboot-Initialize-proxy-settings-registry-key.patch new file mode 100644 index 00000000..63777737 --- /dev/null +++ b/patches/wineboot-ProxySettings/0001-wineboot-Initialize-proxy-settings-registry-key.patch @@ -0,0 +1,60 @@ +From 86c5e611e38486f957c9f59c62559be15ae1a4ab Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michael=20M=C3=BCller?= +Date: Mon, 26 Dec 2016 16:37:40 +0100 +Subject: wineboot: Initialize proxy settings registry key. + +--- + programs/wineboot/Makefile.in | 2 +- + programs/wineboot/wineboot.c | 9 +++++++++ + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/programs/wineboot/Makefile.in b/programs/wineboot/Makefile.in +index 419ec16..1cacab1 100644 +--- a/programs/wineboot/Makefile.in ++++ b/programs/wineboot/Makefile.in +@@ -1,7 +1,7 @@ + MODULE = wineboot.exe + APPMODE = -mconsole + IMPORTS = uuid advapi32 +-DELAYIMPORTS = shell32 shlwapi version user32 ++DELAYIMPORTS = shell32 shlwapi version user32 wininet + + C_SRCS = \ + shutdown.c \ +diff --git a/programs/wineboot/wineboot.c b/programs/wineboot/wineboot.c +index 8994cab..814fe90 100644 +--- a/programs/wineboot/wineboot.c ++++ b/programs/wineboot/wineboot.c +@@ -82,6 +82,7 @@ + #include + #include + #include ++#include + #include "resource.h" + + WINE_DEFAULT_DEBUG_CHANNEL(wineboot); +@@ -554,6 +555,13 @@ static void create_volatile_environment_registry_key(void) + RegCloseKey( hkey ); + } + ++static void create_proxy_settings(void) ++{ ++ HINTERNET inet; ++ inet = InternetOpenA( "Wine", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0 ); ++ if (inet) InternetCloseHandle( inet ); ++} ++ + static void create_etc_stub_files(void) + { + static const WCHAR drivers_etcW[] = {'\\','d','r','i','v','e','r','s','\\','e','t','c',0}; +@@ -1418,6 +1426,7 @@ int main( int argc, char *argv[] ) + if (init || update) update_wineprefix( update ); + + create_volatile_environment_registry_key(); ++ create_proxy_settings(); + + ProcessRunKeys( HKEY_LOCAL_MACHINE, RunOnceW, TRUE, TRUE ); + +-- +2.9.0 + diff --git a/patches/wineboot-ProxySettings/definition b/patches/wineboot-ProxySettings/definition new file mode 100644 index 00000000..745166e5 --- /dev/null +++ b/patches/wineboot-ProxySettings/definition @@ -0,0 +1,3 @@ +Fixes: [42024] Create ProxyEnable key on wineprefix update +Depends: wineboot-drivers_etc_Stubs +Depends: wineboot-DriveSerial