Reactos

[WININET] Sync with Wine Staging 3.3. CORE-14434

+438 -220
+2 -2
dll/win32/wininet/CMakeLists.txt
··· 22 22 netconnection.c 23 23 urlcache.c 24 24 utility.c 25 - internet.h) 25 + precomp.h) 26 26 27 27 add_library(wininet SHARED 28 28 ${SOURCE} ··· 34 34 target_link_libraries(wininet wine ${PSEH_LIB} zlib) 35 35 add_delay_importlibs(wininet secur32 crypt32 cryptui) 36 36 add_importlibs(wininet mpr shlwapi shell32 user32 advapi32 ws2_32 normaliz kernel32_vista msvcrt kernel32 ntdll) 37 - add_pch(wininet internet.h SOURCE) 37 + add_pch(wininet precomp.h SOURCE) 38 38 add_cd_file(TARGET wininet DESTINATION reactos/system32 FOR all)
+18 -2
dll/win32/wininet/cookie.c
··· 20 20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 21 21 */ 22 22 23 - #include "internet.h" 23 + #include "ws2tcpip.h" 24 24 25 - #include <lmcons.h> 25 + #include <stdarg.h> 26 + #include <stdio.h> 27 + #include <stdlib.h> 28 + #include <string.h> 29 + #include <assert.h> 30 + 31 + #include "windef.h" 32 + #include "winbase.h" 33 + #include "wininet.h" 34 + #include "lmcons.h" 35 + #include "winerror.h" 36 + 37 + #include "wine/debug.h" 38 + #include "internet.h" 26 39 27 40 #define RESPONSE_TIMEOUT 30 /* FROM internet.c */ 41 + 42 + 43 + WINE_DEFAULT_DEBUG_CHANNEL(wininet); 28 44 29 45 /* FIXME 30 46 * Cookies could use A LOT OF MEMORY. We need some kind of memory management here!
+30 -2
dll/win32/wininet/dialogs.c
··· 18 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 19 19 */ 20 20 21 + #include "ws2tcpip.h" 22 + 23 + #include <stdarg.h> 24 + 25 + #include "windef.h" 26 + #include "winbase.h" 27 + #include "winuser.h" 28 + #include "winreg.h" 29 + #include "wininet.h" 30 + #include "winnetwk.h" 31 + #include "wine/debug.h" 32 + #include "winerror.h" 33 + #define NO_SHLWAPI_STREAM 34 + #include "shlwapi.h" 35 + #include "cryptuiapi.h" 36 + 21 37 #include "internet.h" 22 38 23 - #include <winnetwk.h> 24 - #include <cryptuiapi.h> 39 + #include "wine/unicode.h" 40 + 41 + #include "resource.h" 25 42 26 43 #define MAX_STRING_LEN 1024 44 + 45 + WINE_DEFAULT_DEBUG_CHANNEL(wininet); 27 46 28 47 struct WININET_ErrorDlgParams 29 48 { ··· 552 571 { 553 572 FIXME("stub: %s %p\n", debugstr_w(url), window); 554 573 return FALSE; 574 + } 575 + 576 + /*********************************************************************** 577 + * ParseX509EncodedCertificateForListBoxEntry (@) 578 + */ 579 + DWORD WINAPI ParseX509EncodedCertificateForListBoxEntry(LPBYTE cert, DWORD len, LPSTR szlistbox, LPDWORD listbox) 580 + { 581 + FIXME("stub: %p %d %s %p\n", cert, len, debugstr_a(szlistbox), listbox); 582 + return ERROR_CALL_NOT_IMPLEMENTED; 555 583 } 556 584 557 585 /***********************************************************************
+23
dll/win32/wininet/ftp.c
··· 27 27 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 28 28 */ 29 29 30 + #include "ws2tcpip.h" 31 + 32 + #include <stdarg.h> 33 + #include <stdio.h> 34 + #include <stdlib.h> 35 + #include <string.h> 36 + #include <time.h> 37 + #include <assert.h> 38 + 39 + #include "windef.h" 40 + #include "winbase.h" 41 + #include "wingdi.h" 42 + #include "winuser.h" 43 + #include "wininet.h" 44 + #include "winnls.h" 45 + #include "winerror.h" 46 + #include "winreg.h" 47 + #include "winternl.h" 48 + #include "shlwapi.h" 49 + 50 + #include "wine/debug.h" 30 51 #include "internet.h" 52 + 53 + WINE_DEFAULT_DEBUG_CHANNEL(wininet); 31 54 32 55 #define RESPONSE_TIMEOUT 30 33 56
+11 -1
dll/win32/wininet/gopher.c
··· 18 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 19 19 */ 20 20 21 - #include "internet.h" 21 + #include "config.h" 22 + 23 + #include <stdarg.h> 24 + 25 + #include "windef.h" 26 + #include "winbase.h" 27 + #include "wininet.h" 28 + 29 + #include "wine/debug.h" 30 + 31 + WINE_DEFAULT_DEBUG_CHANNEL(wininet); 22 32 23 33 /*********************************************************************** 24 34 * GopherCreateLocatorA (WININET.@)
+137 -103
dll/win32/wininet/http.c
··· 27 27 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 28 28 */ 29 29 30 - #include "internet.h" 30 + #include "config.h" 31 + 32 + #include <stdlib.h> 31 33 32 34 #ifdef HAVE_ZLIB 33 35 # include <zlib.h> 34 36 #endif 35 37 36 - #include <winternl.h> 38 + #include "winsock2.h" 39 + #include "ws2ipdef.h" 37 40 38 - #include <wine/exception.h> 41 + #include <stdarg.h> 42 + #include <stdio.h> 43 + #include <time.h> 44 + #include <assert.h> 45 + 46 + #include "windef.h" 47 + #include "winbase.h" 48 + #include "wininet.h" 49 + #include "winerror.h" 50 + #include "winternl.h" 51 + #define NO_SHLWAPI_STREAM 52 + #define NO_SHLWAPI_REG 53 + #define NO_SHLWAPI_STRFCNS 54 + #define NO_SHLWAPI_GDI 55 + #include "shlwapi.h" 56 + #include "sspi.h" 57 + #include "wincrypt.h" 58 + #include "winuser.h" 59 + 60 + #include "internet.h" 61 + #include "wine/debug.h" 62 + #include "wine/exception.h" 63 + #include "wine/unicode.h" 64 + 65 + WINE_DEFAULT_DEBUG_CHANNEL(wininet); 39 66 40 67 static const WCHAR g_szHttp1_0[] = {'H','T','T','P','/','1','.','0',0}; 41 68 static const WCHAR g_szHttp1_1[] = {'H','T','T','P','/','1','.','1',0}; ··· 742 769 int HeaderIndex; 743 770 int numCookies = 0; 744 771 LPHTTPHEADERW setCookieHeader; 772 + WCHAR *path, *tmp; 745 773 746 774 if(request->hdr.dwFlags & INTERNET_FLAG_NO_COOKIES) 747 775 return; 776 + 777 + path = heap_strdupW(request->path); 778 + if (!path) 779 + return; 780 + 781 + tmp = strrchrW(path, '/'); 782 + if (tmp && tmp[1]) tmp[1] = 0; 748 783 749 784 EnterCriticalSection( &request->headers_section ); 750 785 ··· 764 799 765 800 name = substr(setCookieHeader->lpszValue, data - setCookieHeader->lpszValue); 766 801 data++; 767 - set_cookie(substrz(request->server->name), substrz(request->path), name, substrz(data), INTERNET_COOKIE_HTTPONLY); 802 + set_cookie(substrz(request->server->name), substrz(path), name, substrz(data), INTERNET_COOKIE_HTTPONLY); 768 803 } 769 804 770 805 LeaveCriticalSection( &request->headers_section ); 806 + heap_free(path); 771 807 } 772 808 773 809 static void strip_spaces(LPWSTR start) ··· 2326 2362 if (!(req->session->appInfo->proxyPassword = heap_strdupW(buffer))) return ERROR_OUTOFMEMORY; 2327 2363 return ERROR_SUCCESS; 2328 2364 2329 - case INTERNET_OPTION_HTTP_DECODING: 2330 - if(size != sizeof(BOOL)) 2331 - return ERROR_INVALID_PARAMETER; 2332 - req->decoding = *(BOOL*)buffer; 2333 - return ERROR_SUCCESS; 2334 2365 } 2335 2366 2336 2367 return INET_SetOption(hdr, option, buffer, size); ··· 2900 2931 request->contentLength = ~0u; 2901 2932 } 2902 2933 2903 - if(request->decoding) { 2934 + if(request->hdr.decoding) { 2904 2935 int encoding_idx; 2905 2936 2906 2937 static const WCHAR deflateW[] = {'d','e','f','l','a','t','e',0}; ··· 3286 3317 request->hdr.htype = WH_HHTTPREQ; 3287 3318 request->hdr.dwFlags = dwFlags; 3288 3319 request->hdr.dwContext = dwContext; 3320 + request->hdr.decoding = session->hdr.decoding; 3289 3321 request->contentLength = ~0u; 3290 3322 3291 3323 request->netconn_stream.data_stream.vtbl = &netconn_stream_vtbl; ··· 5032 5064 res = set_content_length(request); 5033 5065 if(res != ERROR_SUCCESS) 5034 5066 goto lend; 5035 - if(!request->contentLength) 5067 + if(!request->contentLength && !secure_proxy_connect) 5036 5068 http_release_netconn(request, TRUE); 5037 5069 5038 5070 if (!(request->hdr.dwFlags & INTERNET_FLAG_NO_AUTO_REDIRECT) && responseLen) ··· 5793 5825 session->hdr.dwFlags = dwFlags; 5794 5826 session->hdr.dwContext = dwContext; 5795 5827 session->hdr.dwInternalFlags |= dwInternalFlags; 5828 + session->hdr.decoding = hIC->hdr.decoding; 5796 5829 5797 5830 WININET_AddRef( &hIC->hdr ); 5798 5831 session->appInfo = hIC; ··· 6050 6083 6051 6084 static DWORD HTTP_ProcessHeader(http_request_t *request, LPCWSTR field, LPCWSTR value, DWORD dwModifier) 6052 6085 { 6053 - LPHTTPHEADERW lphttpHdr = NULL; 6086 + LPHTTPHEADERW lphttpHdr; 6054 6087 INT index; 6055 6088 BOOL request_only = !!(dwModifier & HTTP_ADDHDR_FLAG_REQ); 6056 - DWORD res = ERROR_HTTP_INVALID_HEADER; 6089 + DWORD res = ERROR_SUCCESS; 6057 6090 6058 6091 TRACE("--> %s: %s - 0x%08x\n", debugstr_w(field), debugstr_w(value), dwModifier); 6059 6092 6060 6093 EnterCriticalSection( &request->headers_section ); 6061 6094 6062 - /* REPLACE wins out over ADD */ 6063 - if (dwModifier & HTTP_ADDHDR_FLAG_REPLACE) 6064 - dwModifier &= ~HTTP_ADDHDR_FLAG_ADD; 6065 - 6066 - if (dwModifier & HTTP_ADDHDR_FLAG_ADD) 6067 - index = -1; 6068 - else 6069 - index = HTTP_GetCustomHeaderIndex(request, field, 0, request_only); 6070 - 6095 + index = HTTP_GetCustomHeaderIndex(request, field, 0, request_only); 6071 6096 if (index >= 0) 6072 6097 { 6073 - if (dwModifier & HTTP_ADDHDR_FLAG_ADD_IF_NEW) 6074 - { 6075 - LeaveCriticalSection( &request->headers_section ); 6076 - return ERROR_HTTP_INVALID_HEADER; 6077 - } 6078 6098 lphttpHdr = &request->custHeaders[index]; 6079 - } 6080 - else if (value) 6081 - { 6082 - HTTPHEADERW hdr; 6083 6099 6084 - hdr.lpszField = (LPWSTR)field; 6085 - hdr.lpszValue = (LPWSTR)value; 6086 - hdr.wFlags = hdr.wCount = 0; 6100 + /* replace existing header if FLAG_REPLACE is given */ 6101 + if (dwModifier & HTTP_ADDHDR_FLAG_REPLACE) 6102 + { 6103 + HTTP_DeleteCustomHeader( request, index ); 6087 6104 6088 - if (dwModifier & HTTP_ADDHDR_FLAG_REQ) 6089 - hdr.wFlags |= HDR_ISREQUEST; 6105 + if (value && value[0]) 6106 + { 6107 + HTTPHEADERW hdr; 6090 6108 6091 - res = HTTP_InsertCustomHeader(request, &hdr); 6092 - LeaveCriticalSection( &request->headers_section ); 6093 - return res; 6094 - } 6095 - /* no value to delete */ 6096 - else 6097 - { 6098 - LeaveCriticalSection( &request->headers_section ); 6099 - return ERROR_SUCCESS; 6100 - } 6109 + hdr.lpszField = (LPWSTR)field; 6110 + hdr.lpszValue = (LPWSTR)value; 6111 + hdr.wFlags = hdr.wCount = 0; 6101 6112 6102 - if (dwModifier & HTTP_ADDHDR_FLAG_REQ) 6103 - lphttpHdr->wFlags |= HDR_ISREQUEST; 6104 - else 6105 - lphttpHdr->wFlags &= ~HDR_ISREQUEST; 6113 + if (dwModifier & HTTP_ADDHDR_FLAG_REQ) 6114 + hdr.wFlags |= HDR_ISREQUEST; 6106 6115 6107 - if (dwModifier & HTTP_ADDHDR_FLAG_REPLACE) 6108 - { 6109 - HTTP_DeleteCustomHeader( request, index ); 6116 + res = HTTP_InsertCustomHeader( request, &hdr ); 6117 + } 6118 + 6119 + goto out; 6120 + } 6110 6121 6111 - if (value && value[0]) 6122 + /* do not add new header if FLAG_ADD_IF_NEW is set */ 6123 + if (dwModifier & HTTP_ADDHDR_FLAG_ADD_IF_NEW) 6112 6124 { 6113 - HTTPHEADERW hdr; 6125 + res = ERROR_HTTP_INVALID_HEADER; /* FIXME */ 6126 + goto out; 6127 + } 6114 6128 6115 - hdr.lpszField = (LPWSTR)field; 6116 - hdr.lpszValue = (LPWSTR)value; 6117 - hdr.wFlags = hdr.wCount = 0; 6129 + /* handle appending to existing header */ 6130 + if (dwModifier & COALESCEFLAGS) 6131 + { 6132 + LPWSTR lpsztmp; 6133 + WCHAR ch = 0; 6134 + INT len = 0; 6135 + INT origlen = strlenW(lphttpHdr->lpszValue); 6136 + INT valuelen = strlenW(value); 6118 6137 6138 + /* FIXME: Should it really clear HDR_ISREQUEST? */ 6119 6139 if (dwModifier & HTTP_ADDHDR_FLAG_REQ) 6120 - hdr.wFlags |= HDR_ISREQUEST; 6140 + lphttpHdr->wFlags |= HDR_ISREQUEST; 6141 + else 6142 + lphttpHdr->wFlags &= ~HDR_ISREQUEST; 6121 6143 6122 - res = HTTP_InsertCustomHeader(request, &hdr); 6123 - LeaveCriticalSection( &request->headers_section ); 6124 - return res; 6125 - } 6126 - 6127 - LeaveCriticalSection( &request->headers_section ); 6128 - return ERROR_SUCCESS; 6129 - } 6130 - else if (dwModifier & COALESCEFLAGS) 6131 - { 6132 - LPWSTR lpsztmp; 6133 - WCHAR ch = 0; 6134 - INT len = 0; 6135 - INT origlen = strlenW(lphttpHdr->lpszValue); 6136 - INT valuelen = strlenW(value); 6144 + if (dwModifier & HTTP_ADDHDR_FLAG_COALESCE_WITH_COMMA) 6145 + { 6146 + ch = ','; 6147 + lphttpHdr->wFlags |= HDR_COMMADELIMITED; 6148 + } 6149 + else if (dwModifier & HTTP_ADDHDR_FLAG_COALESCE_WITH_SEMICOLON) 6150 + { 6151 + ch = ';'; 6152 + lphttpHdr->wFlags |= HDR_COMMADELIMITED; 6153 + } 6137 6154 6138 - if (dwModifier & HTTP_ADDHDR_FLAG_COALESCE_WITH_COMMA) 6139 - { 6140 - ch = ','; 6141 - lphttpHdr->wFlags |= HDR_COMMADELIMITED; 6142 - } 6143 - else if (dwModifier & HTTP_ADDHDR_FLAG_COALESCE_WITH_SEMICOLON) 6144 - { 6145 - ch = ';'; 6146 - lphttpHdr->wFlags |= HDR_COMMADELIMITED; 6147 - } 6155 + len = origlen + valuelen + ((ch > 0) ? 2 : 0); 6148 6156 6149 - len = origlen + valuelen + ((ch > 0) ? 2 : 0); 6157 + lpsztmp = heap_realloc(lphttpHdr->lpszValue, (len+1)*sizeof(WCHAR)); 6158 + if (lpsztmp) 6159 + { 6160 + lphttpHdr->lpszValue = lpsztmp; 6161 + /* FIXME: Increment lphttpHdr->wCount. Perhaps lpszValue should be an array */ 6162 + if (ch > 0) 6163 + { 6164 + lphttpHdr->lpszValue[origlen] = ch; 6165 + origlen++; 6166 + lphttpHdr->lpszValue[origlen] = ' '; 6167 + origlen++; 6168 + } 6150 6169 6151 - lpsztmp = heap_realloc(lphttpHdr->lpszValue, (len+1)*sizeof(WCHAR)); 6152 - if (lpsztmp) 6153 - { 6154 - lphttpHdr->lpszValue = lpsztmp; 6155 - /* FIXME: Increment lphttpHdr->wCount. Perhaps lpszValue should be an array */ 6156 - if (ch > 0) 6170 + memcpy(&lphttpHdr->lpszValue[origlen], value, valuelen*sizeof(WCHAR)); 6171 + lphttpHdr->lpszValue[len] = '\0'; 6172 + } 6173 + else 6157 6174 { 6158 - lphttpHdr->lpszValue[origlen] = ch; 6159 - origlen++; 6160 - lphttpHdr->lpszValue[origlen] = ' '; 6161 - origlen++; 6175 + WARN("heap_realloc (%d bytes) failed\n",len+1); 6176 + res = ERROR_OUTOFMEMORY; 6162 6177 } 6163 6178 6164 - memcpy(&lphttpHdr->lpszValue[origlen], value, valuelen*sizeof(WCHAR)); 6165 - lphttpHdr->lpszValue[len] = '\0'; 6166 - res = ERROR_SUCCESS; 6167 - } 6168 - else 6169 - { 6170 - WARN("heap_realloc (%d bytes) failed\n",len+1); 6171 - res = ERROR_OUTOFMEMORY; 6179 + goto out; 6172 6180 } 6173 6181 } 6182 + 6183 + /* FIXME: What about other combinations? */ 6184 + if ((dwModifier & ~HTTP_ADDHDR_FLAG_REQ) == HTTP_ADDHDR_FLAG_REPLACE) 6185 + { 6186 + res = ERROR_HTTP_HEADER_NOT_FOUND; 6187 + goto out; 6188 + } 6189 + 6190 + /* FIXME: What if value == ""? */ 6191 + if (value) 6192 + { 6193 + HTTPHEADERW hdr; 6194 + 6195 + hdr.lpszField = (LPWSTR)field; 6196 + hdr.lpszValue = (LPWSTR)value; 6197 + hdr.wFlags = hdr.wCount = 0; 6198 + 6199 + if (dwModifier & HTTP_ADDHDR_FLAG_REQ) 6200 + hdr.wFlags |= HDR_ISREQUEST; 6201 + 6202 + res = HTTP_InsertCustomHeader( request, &hdr ); 6203 + goto out; 6204 + } 6205 + 6206 + /* FIXME: What if value == NULL? */ 6207 + out: 6174 6208 TRACE("<-- %d\n", res); 6175 6209 LeaveCriticalSection( &request->headers_section ); 6176 6210 return res;
+79 -7
dll/win32/wininet/internet.c
··· 26 26 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 27 27 */ 28 28 29 + #include "config.h" 30 + 31 + #ifdef HAVE_CORESERVICES_CORESERVICES_H 32 + #define GetCurrentThread MacGetCurrentThread 33 + #define LoadResource MacLoadResource 34 + #include <CoreServices/CoreServices.h> 35 + #undef GetCurrentThread 36 + #undef LoadResource 37 + #undef DPRINTF 38 + #endif 39 + 40 + #include "winsock2.h" 41 + #include "ws2ipdef.h" 42 + 43 + #include <string.h> 44 + #include <stdarg.h> 45 + #include <stdio.h> 46 + #include <stdlib.h> 47 + #include <ctype.h> 48 + #include <assert.h> 49 + 50 + #include "windef.h" 51 + #include "winbase.h" 52 + #include "winreg.h" 53 + #include "winuser.h" 54 + #include "wininet.h" 55 + #include "winnls.h" 56 + #include "wine/debug.h" 57 + #include "winerror.h" 58 + #define NO_SHLWAPI_STREAM 59 + #include "shlwapi.h" 60 + 61 + #include "wine/exception.h" 62 + 29 63 #include "internet.h" 64 + #include "resource.h" 65 + 66 + #include "wine/unicode.h" 67 + 68 + WINE_DEFAULT_DEBUG_CHANNEL(wininet); 30 69 31 70 typedef struct 32 71 { ··· 1625 1664 1626 1665 if (dwFlags & ICU_DECODE) 1627 1666 { 1628 - WCHAR *url_tmp; 1667 + WCHAR *url_tmp, *buffer; 1629 1668 DWORD len = dwUrlLength + 1; 1630 1669 BOOL ret; 1631 1670 ··· 1634 1673 SetLastError(ERROR_OUTOFMEMORY); 1635 1674 return FALSE; 1636 1675 } 1637 - ret = InternetCanonicalizeUrlW(url_tmp, url_tmp, &len, ICU_DECODE | ICU_NO_ENCODE); 1676 + 1677 + buffer = url_tmp; 1678 + ret = InternetCanonicalizeUrlW(url_tmp, buffer, &len, ICU_DECODE | ICU_NO_ENCODE); 1679 + if (!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER) 1680 + { 1681 + buffer = heap_alloc(len * sizeof(WCHAR)); 1682 + if (!buffer) 1683 + { 1684 + SetLastError(ERROR_OUTOFMEMORY); 1685 + heap_free(url_tmp); 1686 + return FALSE; 1687 + } 1688 + ret = InternetCanonicalizeUrlW(url_tmp, buffer, &len, ICU_DECODE | ICU_NO_ENCODE); 1689 + } 1638 1690 if (ret) 1639 - ret = InternetCrackUrlW(url_tmp, len, dwFlags & ~ICU_DECODE, lpUC); 1691 + ret = InternetCrackUrlW(buffer, len, dwFlags & ~ICU_DECODE, lpUC); 1692 + 1693 + if (buffer != url_tmp) heap_free(buffer); 1640 1694 heap_free(url_tmp); 1641 1695 return ret; 1642 1696 } ··· 2271 2325 CFRelease( settings ); 2272 2326 return ret; 2273 2327 #else 2274 - FIXME( "no support on this platform\n" ); 2328 + static int once; 2329 + if (!once++) FIXME( "no support on this platform\n" ); 2275 2330 return NULL; 2276 2331 #endif 2277 2332 } ··· 2821 2876 FIXME("Option INTERNET_OPTION_DISABLE_AUTODIAL; STUB\n"); 2822 2877 break; 2823 2878 case INTERNET_OPTION_HTTP_DECODING: 2824 - FIXME("INTERNET_OPTION_HTTP_DECODING; STUB\n"); 2825 - SetLastError(ERROR_INTERNET_INVALID_OPTION); 2826 - ret = FALSE; 2879 + { 2880 + if (!lpwhh) 2881 + { 2882 + SetLastError(ERROR_INTERNET_INCORRECT_HANDLE_TYPE); 2883 + return FALSE; 2884 + } 2885 + if (!lpBuffer || dwBufferLength != sizeof(BOOL)) 2886 + { 2887 + SetLastError(ERROR_INVALID_PARAMETER); 2888 + ret = FALSE; 2889 + } 2890 + else 2891 + lpwhh->decoding = *(BOOL *)lpBuffer; 2827 2892 break; 2893 + } 2828 2894 case INTERNET_OPTION_COOKIES_3RD_PARTY: 2829 2895 FIXME("INTERNET_OPTION_COOKIES_3RD_PARTY; STUB\n"); 2830 2896 SetLastError(ERROR_INTERNET_INVALID_OPTION); ··· 2911 2977 ret = (res == ERROR_SUCCESS); 2912 2978 break; 2913 2979 } 2980 + case INTERNET_OPTION_SETTINGS_CHANGED: 2981 + FIXME("INTERNET_OPTION_SETTINGS_CHANGED; STUB\n"); 2982 + break; 2983 + case INTERNET_OPTION_REFRESH: 2984 + FIXME("INTERNET_OPTION_REFRESH; STUB\n"); 2985 + break; 2914 2986 default: 2915 2987 FIXME("Option %d STUB\n",dwOption); 2916 2988 SetLastError(ERROR_INTERNET_INVALID_OPTION);
+6 -82
dll/win32/wininet/internet.h
··· 23 23 #ifndef _WINE_INTERNET_H_ 24 24 #define _WINE_INTERNET_H_ 25 25 26 - #include <wine/config.h> 27 - 28 - #include <assert.h> 29 - #include <stdio.h> 30 - 31 - #define _INC_WINDOWS 32 - #define COM_NO_WINDOWS_H 33 - 34 - #define NONAMELESSUNION 35 - #define NONAMELESSSTRUCT 36 - 37 - #include <windef.h> 38 - #include <winbase.h> 39 - #include <winreg.h> 40 - #include <winuser.h> 41 - #include <wininet.h> 42 - #define NO_SHLWAPI_STREAM 43 - #define NO_SHLWAPI_REG 44 - #define NO_SHLWAPI_GDI 45 - #include <shlwapi.h> 46 - 47 - #include <wine/list.h> 48 - #include <wine/debug.h> 49 - #include <wine/unicode.h> 50 - 51 - #ifdef HAVE_ARPA_INET_H 52 - # include <arpa/inet.h> 53 - #endif 54 - #ifdef HAVE_NETDB_H 55 - # include <netdb.h> 56 - #endif 57 - #ifdef HAVE_NETINET_IN_H 58 - # include <sys/types.h> 59 - # include <netinet/in.h> 60 - #endif 61 - #ifdef HAVE_SYS_IOCTL_H 62 - # include <sys/ioctl.h> 63 - #endif 64 - #ifdef HAVE_SYS_POLL_H 65 - # include <sys/poll.h> 66 - #endif 67 - #ifdef HAVE_SYS_SOCKET_H 68 - # include <sys/socket.h> 69 - #endif 70 - #ifdef HAVE_SYS_TIME_H 71 - # include <sys/time.h> 72 - #endif 73 - #ifdef HAVE_UNISTD_H 74 - # include <unistd.h> 75 - #endif 76 - 77 - #if defined(__MINGW32__) || defined (_MSC_VER) 78 - #include <ws2tcpip.h> 79 - #else 80 - #define closesocket close 81 - #define ioctlsocket ioctl 82 - #endif /* __MINGW32__ */ 26 + #include "wine/unicode.h" 27 + #include "wine/heap.h" 28 + #include "wine/list.h" 83 29 84 - #include <winineti.h> 30 + #include <time.h> 85 31 86 - #include "resource.h" 87 - 88 - WINE_DEFAULT_DEBUG_CHANNEL(wininet); 32 + #include "winineti.h" 89 33 90 34 extern HMODULE WININET_hModule DECLSPEC_HIDDEN; 91 35 ··· 146 90 BOOL is_valid_netconn(netconn_t *) DECLSPEC_HIDDEN; 147 91 void close_netconn(netconn_t *) DECLSPEC_HIDDEN; 148 92 149 - static inline void * __WINE_ALLOC_SIZE(1) heap_alloc(size_t len) 150 - { 151 - return HeapAlloc(GetProcessHeap(), 0, len); 152 - } 153 - 154 - static inline void * __WINE_ALLOC_SIZE(1) heap_alloc_zero(size_t len) 155 - { 156 - return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, len); 157 - } 158 - 159 - static inline void * __WINE_ALLOC_SIZE(2) heap_realloc(void *mem, size_t len) 160 - { 161 - return HeapReAlloc(GetProcessHeap(), 0, mem, len); 162 - } 163 - 164 93 static inline void * __WINE_ALLOC_SIZE(2) heap_realloc_zero(void *mem, size_t len) 165 94 { 166 95 return HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, mem, len); 167 - } 168 - 169 - static inline BOOL heap_free(void *mem) 170 - { 171 - return HeapFree(GetProcessHeap(), 0, mem); 172 96 } 173 97 174 98 static inline LPWSTR heap_strdupW(LPCWSTR str) ··· 357 281 ULONG ErrorMask; 358 282 DWORD dwInternalFlags; 359 283 LONG refs; 284 + BOOL decoding; 360 285 INTERNET_STATUS_CALLBACK lpfnStatusCB; 361 286 struct list entry; 362 287 struct list children; ··· 453 378 DWORD read_size; /* valid data size in read_buf */ 454 379 BYTE read_buf[READ_BUFFER_SIZE]; /* buffer for already read but not returned data */ 455 380 456 - BOOL decoding; 457 381 data_stream_t *data_stream; 458 382 netconn_stream_t netconn_stream; 459 383 } http_request_t;
+19 -12
dll/win32/wininet/netconnection.c
··· 21 21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 22 22 */ 23 23 24 + #define NONAMELESSUNION 25 + 26 + #include "ws2tcpip.h" 27 + 28 + #include <time.h> 29 + #include <stdarg.h> 30 + #include <stdlib.h> 31 + #include <string.h> 32 + #include <stdio.h> 33 + #include <assert.h> 34 + 35 + #include "wine/library.h" 36 + #include "windef.h" 37 + #include "winbase.h" 38 + #include "wininet.h" 39 + #include "winerror.h" 40 + 41 + #include "wine/debug.h" 24 42 #include "internet.h" 25 43 26 - #include <sys/types.h> 27 - #ifdef HAVE_POLL_H 28 - #include <poll.h> 29 - #endif 30 - #ifdef HAVE_SYS_FILIO_H 31 - # include <sys/filio.h> 32 - #endif 33 - #ifdef HAVE_NETINET_TCP_H 34 - # include <netinet/tcp.h> 35 - #endif 36 - 37 - #include <errno.h> 44 + WINE_DEFAULT_DEBUG_CHANNEL(wininet); 38 45 39 46 static DWORD netconn_verify_cert(netconn_t *conn, PCCERT_CONTEXT cert, HCERTSTORE store) 40 47 {
+64
dll/win32/wininet/precomp.h
··· 1 + 2 + #ifndef _WININET_PRECOMP_H_ 3 + #define _WININET_PRECOMP_H_ 4 + 5 + #include <wine/config.h> 6 + 7 + #include <assert.h> 8 + #include <stdio.h> 9 + 10 + #define _INC_WINDOWS 11 + #define COM_NO_WINDOWS_H 12 + 13 + #define NONAMELESSUNION 14 + #define NONAMELESSSTRUCT 15 + 16 + #include <windef.h> 17 + #include <winbase.h> 18 + #include <winreg.h> 19 + #include <winuser.h> 20 + #include <wininet.h> 21 + #define NO_SHLWAPI_STREAM 22 + #define NO_SHLWAPI_REG 23 + #define NO_SHLWAPI_GDI 24 + #include <shlwapi.h> 25 + 26 + #include <wine/debug.h> 27 + 28 + #ifdef HAVE_ARPA_INET_H 29 + # include <arpa/inet.h> 30 + #endif 31 + #ifdef HAVE_NETDB_H 32 + # include <netdb.h> 33 + #endif 34 + #ifdef HAVE_NETINET_IN_H 35 + # include <sys/types.h> 36 + # include <netinet/in.h> 37 + #endif 38 + #ifdef HAVE_SYS_IOCTL_H 39 + # include <sys/ioctl.h> 40 + #endif 41 + #ifdef HAVE_SYS_POLL_H 42 + # include <sys/poll.h> 43 + #endif 44 + #ifdef HAVE_SYS_SOCKET_H 45 + # include <sys/socket.h> 46 + #endif 47 + #ifdef HAVE_SYS_TIME_H 48 + # include <sys/time.h> 49 + #endif 50 + #ifdef HAVE_UNISTD_H 51 + # include <unistd.h> 52 + #endif 53 + 54 + #if defined(__MINGW32__) || defined (_MSC_VER) 55 + #include <ws2tcpip.h> 56 + #else 57 + #define closesocket close 58 + #define ioctlsocket ioctl 59 + #endif /* __MINGW32__ */ 60 + 61 + #include "internet.h" 62 + #include "resource.h" 63 + 64 + #endif /* !_WININET_PRECOMP_H_ */
+3
dll/win32/wininet/resource.h
··· 20 20 21 21 #pragma once 22 22 23 + #include <windef.h> 24 + #include <winuser.h> 25 + 23 26 #define IDD_INVCERTDLG 0x398 24 27 #define IDD_AUTHDLG 0x399 25 28 #define IDD_PROXYDLG 0x400
-3
dll/win32/wininet/rsrc.rc
··· 18 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 19 19 */ 20 20 21 - #include <windef.h> 22 - #include <winuser.h> 23 - 24 21 #include "resource.h" 25 22 26 23 /*
+25 -2
dll/win32/wininet/urlcache.c
··· 22 22 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 23 23 */ 24 24 25 + #define NONAMELESSUNION 26 + 27 + #include "ws2tcpip.h" 28 + 29 + #include <stdarg.h> 30 + #include <stdio.h> 31 + #include <stdlib.h> 32 + #include <string.h> 33 + #include <time.h> 34 + 35 + #include "windef.h" 36 + #include "winbase.h" 37 + #include "winuser.h" 38 + #include "wininet.h" 39 + #include "winineti.h" 40 + #include "winerror.h" 41 + #include "winreg.h" 42 + #include "shlwapi.h" 43 + #include "shlobj.h" 44 + #include "shellapi.h" 45 + 25 46 #include "internet.h" 26 47 27 - #include <shlobj.h> 28 - #include <shellapi.h> 48 + #include "wine/unicode.h" 49 + #include "wine/debug.h" 50 + 51 + WINE_DEFAULT_DEBUG_CHANNEL(wininet); 29 52 30 53 static const char urlcache_ver_prefix[] = "WINE URLCache Ver "; 31 54 static const char urlcache_ver[] = "0.2012001";
+18 -1
dll/win32/wininet/utility.c
··· 22 22 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 23 23 */ 24 24 25 + #include "ws2tcpip.h" 26 + 27 + #include <stdarg.h> 28 + #include <stdlib.h> 29 + #include <string.h> 30 + #include <time.h> 31 + 32 + #include "windef.h" 33 + #include "winbase.h" 34 + #include "wininet.h" 35 + #include "winnls.h" 36 + 37 + #include "wine/debug.h" 25 38 #include "internet.h" 26 39 27 - // ReactOS 40 + #ifdef __REACTOS__ 41 + #include <stdio.h> 28 42 #include "inet_ntop.c" 43 + #endif 44 + 45 + WINE_DEFAULT_DEBUG_CHANNEL(wininet); 29 46 30 47 #define TIME_STRING_LEN 30 31 48
+1 -1
dll/win32/wininet/version.rc
··· 25 25 #define WINE_PRODUCTVERSION 8,00,7601,17601 26 26 #define WINE_PRODUCTVERSION_STR "8.00.7601.17601" 27 27 28 - #include <wine/wine_common_ver.rc> 28 + #include "wine/wine_common_ver.rc"
+1 -1
dll/win32/wininet/wininet.spec
··· 216 216 @ stdcall IsUrlCacheEntryExpiredA(str long ptr) 217 217 @ stdcall IsUrlCacheEntryExpiredW(wstr long ptr) 218 218 @ stdcall LoadUrlCacheContent() 219 - @ stdcall -stub ParseX509EncodedCertificateForListBoxEntry(ptr long str ptr) 219 + @ stdcall ParseX509EncodedCertificateForListBoxEntry(ptr long str ptr) 220 220 @ stdcall PrivacyGetZonePreferenceW(long long ptr ptr ptr) 221 221 @ stdcall PrivacySetZonePreferenceW(long long long wstr) 222 222 @ stdcall ReadUrlCacheEntryStream(ptr long ptr ptr long)
+1 -1
media/doc/README.WINE
··· 201 201 reactos/dll/win32/winemp3.acm # Synced to WineStaging-3.3 202 202 reactos/dll/win32/wing32 # Synced to WineStaging-3.3 203 203 reactos/dll/win32/winhttp # Synced to WineStaging-3.3 204 - reactos/dll/win32/wininet # Synced to Wine-3.0 204 + reactos/dll/win32/wininet # Synced to WineStaging-3.3 205 205 reactos/dll/win32/winmm # Forked at Wine-20050628 206 206 reactos/dll/win32/winmm/midimap # Forked at Wine-20050628 207 207 reactos/dll/win32/winmm/wavemap # Forked at Wine-20050628