29 {
'S',
'o',
'f',
't',
'w',
'a',
'r',
'e',
'\\',
30 'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
31 'I',
'n',
't',
'e',
'r',
'n',
'e',
't',
' ',
'E',
'x',
'p',
'l',
'o',
'r',
'e',
'r',
'\\',
33 'F',
'e',
'a',
't',
'u',
'r',
'e',
'C',
'o',
'n',
't',
'r',
'o',
'l',0};
36 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'O',
'B',
'J',
'E',
'C',
'T',
'_',
'C',
'A',
'C',
'H',
'I',
'N',
'G',0};
38 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'Z',
'O',
'N',
'E',
'_',
'E',
'L',
'E',
'V',
'A',
'T',
'I',
'O',
'N',0};
40 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'M',
'I',
'M',
'E',
'_',
'H',
'A',
'N',
'D',
'L',
'I',
'N',
'G',0};
42 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'M',
'I',
'M',
'E',
'_',
'S',
'N',
'I',
'F',
'F',
'I',
'N',
'G',0};
44 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'W',
'I',
'N',
'D',
'O',
'W',
'_',
'R',
'E',
'S',
'T',
'R',
'I',
'C',
'T',
'I',
'O',
'N',
'S',0};
46 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'W',
'E',
'B',
'O',
'C',
'_',
'P',
'O',
'P',
'U',
'P',
'M',
'A',
'N',
'A',
'G',
'E',
'M',
'E',
'N',
'T',0};
48 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'B',
'E',
'H',
'A',
'V',
'I',
'O',
'R',
'S',0};
50 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'D',
'I',
'S',
'A',
'B',
'L',
'E',
'_',
'M',
'K',
'_',
'P',
'R',
'O',
'T',
'O',
'C',
'O',
'L',0};
52 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'L',
'O',
'C',
'A',
'L',
'M',
'A',
'C',
'H',
'I',
'N',
'E',
'_',
'L',
'O',
'C',
'K',
'D',
'O',
'W',
'N',0};
54 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'S',
'E',
'C',
'U',
'R',
'I',
'T',
'Y',
'B',
'A',
'N',
'D',0};
56 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'R',
'E',
'S',
'T',
'R',
'I',
'C',
'T',
'_',
'A',
'C',
'T',
'I',
'V',
'E',
'X',
'I',
'N',
'S',
'T',
'A',
'L',
'L',0};
58 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'V',
'A',
'L',
'I',
'D',
'A',
'T',
'E',
'_',
'N',
'A',
'V',
'I',
'G',
'A',
'T',
'E',
'_',
'U',
'R',
'L',0};
60 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'R',
'E',
'S',
'T',
'R',
'I',
'C',
'T',
'_',
'F',
'I',
'L',
'E',
'D',
'O',
'W',
'N',
'L',
'O',
'A',
'D',0};
62 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'A',
'D',
'D',
'O',
'N',
'_',
'M',
'A',
'N',
'A',
'G',
'E',
'M',
'E',
'N',
'T',0};
64 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'P',
'R',
'O',
'T',
'O',
'C',
'O',
'L',
'_',
'L',
'O',
'C',
'K',
'D',
'O',
'W',
'N',0};
66 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'H',
'T',
'T',
'P',
'_',
'U',
'S',
'E',
'R',
'N',
'A',
'M',
'E',
'_',
67 'P',
'A',
'S',
'S',
'W',
'O',
'R',
'D',
'_',
'D',
'I',
'S',
'A',
'B',
'L',
'E',0};
69 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'S',
'A',
'F',
'E',
'_',
'B',
'I',
'N',
'D',
'T',
'O',
'O',
'B',
'J',
'E',
'C',
'T',0};
71 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'U',
'N',
'C',
'_',
'S',
'A',
'V',
'E',
'D',
'F',
'I',
'L',
'E',
'C',
'H',
'E',
'C',
'K',0};
73 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'G',
'E',
'T',
'_',
'U',
'R',
'L',
'_',
'D',
'O',
'M',
'_',
74 'F',
'I',
'L',
'E',
'P',
'A',
'T',
'H',
'_',
'U',
'N',
'E',
'N',
'C',
'O',
'D',
'E',
'D',0};
76 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'T',
'A',
'B',
'B',
'E',
'D',
'_',
'B',
'R',
'O',
'W',
'S',
'I',
'N',
'G',0};
78 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'S',
'S',
'L',
'U',
'X',0};
80 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'D',
'I',
'S',
'A',
'B',
'L',
'E',
'_',
'N',
'A',
'V',
'I',
'G',
'A',
'T',
'I',
'O',
'N',
'_',
81 'S',
'O',
'U',
'N',
'D',
'S',0};
83 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'D',
'I',
'S',
'A',
'B',
'L',
'E',
'_',
'L',
'E',
'G',
'A',
'C',
'Y',
'_',
84 'C',
'O',
'M',
'P',
'R',
'E',
'S',
'S',
'I',
'O',
'N',0};
86 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'F',
'O',
'R',
'C',
'E',
'_',
'A',
'D',
'D',
'R',
'_',
'A',
'N',
'D',
'_',
87 'S',
'T',
'A',
'T',
'U',
'S',0};
89 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'X',
'M',
'L',
'H',
'T',
'T',
'P',0};
91 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'D',
'I',
'S',
'A',
'B',
'L',
'E',
'_',
'T',
'E',
'L',
'N',
'E',
'T',
'_',
92 'P',
'R',
'O',
'T',
'O',
'C',
'O',
'L',0};
94 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'F',
'E',
'E',
'D',
'S',0};
96 {
'F',
'E',
'A',
'T',
'U',
'R',
'E',
'_',
'B',
'L',
'O',
'C',
'K',
'_',
'I',
'N',
'P',
'U',
'T',
'_',
'P',
'R',
'O',
'M',
'P',
'T',
'S',0};
103 0, 0, { (
DWORD_PTR)(__FILE__
": process features") }
157 ERR(
"wrong flags\n");
398 switch(ParseAction) {
399 case PARSE_CANONICALIZE:
401 case PARSE_SECURITY_URL:
406 case PARSE_PATH_FROM_URL:
410 case PARSE_SECURITY_DOMAIN:
414 case PARSE_ROOTDOCUMENT:
417 FIXME(
"not supported action %d\n", ParseAction);
435 debugstr_w(pwzRelativeUrl), dwCombineFlags, pwzResult, cchResult, pcchResult,
441 hres = IInternetProtocolInfo_CombineUrl(
protocol_info, pwzBaseUrl, pwzRelativeUrl,
442 dwCombineFlags, pwzResult, cchResult, pcchResult,
dwReserved);
470 hres = IInternetProtocolInfo_CompareUrl(
protocol_info, pwzUrl1, pwzUrl2, dwCompareFlags);
493 QueryOption, dwQueryFlags, pvBuffer, cbBuffer, pcbBuffer,
dwReserved);
498 hres = IInternetProtocolInfo_QueryInfo(
protocol_info, pwzUrl, QueryOption, dwQueryFlags,
505 switch(QueryOption) {
506 case QUERY_USES_NETWORK:
507 if(!pvBuffer || cbBuffer <
sizeof(
DWORD))
510 *(
DWORD*)pvBuffer = 0;
512 *pcbBuffer =
sizeof(
DWORD);
516 FIXME(
"Not supported option %d\n", QueryOption);
535 const DWORD supported_flags = SET_FEATURE_ON_PROCESS;
537 if(
feature >= FEATURE_ENTRY_COUNT)
540 if(
flags & ~supported_flags)
541 FIXME(
"Unsupported flags: %08x\n",
flags & ~supported_flags);
543 if(
flags & SET_FEATURE_ON_PROCESS)
587 LPCWSTR process_name, feature_name;
660 if(
feature >= FEATURE_ENTRY_COUNT)
663 if(
flags == GET_FEATURE_FROM_PROCESS)
678 TRACE(
"(%d, %08x, %x)\n", FeatureEntry,
dwFlags, fEnable);
703 urlaction = URLACTION_FEATURE_MIME_SNIFFING;
705 urlaction = URLACTION_FEATURE_WINDOW_RESTRICTIONS;
707 urlaction = URLACTION_FEATURE_ZONE_ELEVATION;
709 if(!szURL || !urlaction || !pSecMgr)
713 case GET_FEATURE_FROM_THREAD:
714 case GET_FEATURE_FROM_THREAD_LOCALMACHINE:
715 case GET_FEATURE_FROM_THREAD_INTRANET:
716 case GET_FEATURE_FROM_THREAD_TRUSTED:
717 case GET_FEATURE_FROM_THREAD_INTERNET:
718 case GET_FEATURE_FROM_THREAD_RESTRICTED:
722 case GET_FEATURE_FROM_PROCESS:
731 hres = IInternetSecurityManager_ProcessUrlAction(pSecMgr, szURL, urlaction,
750 if(!pSecMgr || !szToURL)
754 case GET_FEATURE_FROM_THREAD:
755 case GET_FEATURE_FROM_THREAD_LOCALMACHINE:
756 case GET_FEATURE_FROM_THREAD_INTRANET:
757 case GET_FEATURE_FROM_THREAD_TRUSTED:
758 case GET_FEATURE_FROM_THREAD_INTERNET:
759 case GET_FEATURE_FROM_THREAD_RESTRICTED:
763 case GET_FEATURE_FROM_PROCESS:
772 hres = IInternetSecurityManager_ProcessUrlAction(pSecMgr, szToURL,
774 NULL, 0, PUAF_NOUI, 0);
779 case URLPOLICY_ALLOW:
781 case URLPOLICY_QUERY:
782 FIXME(
"Ask user dialog not implemented\n");
WINBASEAPI _Check_return_ _Out_ AppPolicyProcessTerminationMethod * policy
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define RegCloseKey(hKey)
static LPCWSTR LPCWSTR module_name
LONG WINAPI RegOpenKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
HRESULT WINAPI PathCreateFromUrlW(LPCWSTR pszUrl, LPWSTR pszPath, LPDWORD pcchPath, DWORD dwReserved)
HRESULT WINAPI UrlCombineW(LPCWSTR pszBase, LPCWSTR pszRelative, LPWSTR pszCombined, LPDWORD pcchCombined, DWORD dwFlags)
HRESULT WINAPI UrlGetPartW(LPCWSTR pszIn, LPWSTR pszOut, LPDWORD pcchOut, DWORD dwPart, DWORD dwFlags)
HRESULT WINAPI ParseURLW(LPCWSTR x, PARSEDURLW *y)
INT WINAPI UrlCompareW(LPCWSTR pszUrl1, LPCWSTR pszUrl2, BOOL fIgnoreSlash)
HRESULT WINAPI UrlUnescapeW(LPWSTR pszUrl, LPWSTR pszUnescaped, LPDWORD pcchUnescaped, DWORD dwFlags)
HRESULT WINAPI UrlCanonicalizeW(LPCWSTR pszUrl, LPWSTR pszCanonicalized, LPDWORD pcchCanonicalized, DWORD dwFlags)
static HRESULT get_internet_feature(INTERNETFEATURELIST feature, DWORD flags)
static HRESULT parse_canonicalize_url(LPCWSTR url, DWORD flags, LPWSTR result, DWORD size, DWORD *rsize)
static HRESULT parse_encode(LPCWSTR url, PARSEACTION action, DWORD flags, LPWSTR result, DWORD size, DWORD *rsize)
static HRESULT parse_security_domain(LPCWSTR url, DWORD flags, LPWSTR result, DWORD size, DWORD *rsize)
HRESULT WINAPI CoInternetCombineUrl(LPCWSTR pwzBaseUrl, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, LPWSTR pwzResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved)
static HRESULT load_process_feature(INTERNETFEATURELIST feature)
static const WCHAR feature_disable_mk_protocolW[]
static void set_feature_on_process(INTERNETFEATURELIST feature, BOOL enable)
HRESULT WINAPI CoInternetQueryInfo(LPCWSTR pwzUrl, QUERYOPTION QueryOption, DWORD dwQueryFlags, LPVOID pvBuffer, DWORD cbBuffer, DWORD *pcbBuffer, DWORD dwReserved)
static const WCHAR feature_addon_managementW[]
static const WCHAR feature_window_restrictionsW[]
static const WCHAR feature_control_keyW[]
HRESULT WINAPI CoInternetParseUrl(LPCWSTR pwzUrl, PARSEACTION ParseAction, DWORD dwFlags, LPWSTR pszResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved)
static const WCHAR feature_http_username_password_disableW[]
static const WCHAR feature_behaviorsW[]
static const WCHAR feature_mime_handlingW[]
static const WCHAR feature_ssluxW[]
static HRESULT parse_rootdocument(LPCWSTR url, DWORD flags, LPWSTR result, DWORD size, DWORD *rsize)
static const WCHAR feature_unc_savedfilecheckW[]
static const WCHAR feature_tabbed_browsingW[]
static feature_control process_feature_controls[FEATURE_ENTRY_COUNT]
static HRESULT set_internet_feature(INTERNETFEATURELIST feature, DWORD flags, BOOL enable)
static const WCHAR feature_xmlhttpW[]
static HRESULT get_feature_from_process(INTERNETFEATURELIST feature)
HRESULT WINAPI CoInternetCompareUrl(LPCWSTR pwzUrl1, LPCWSTR pwzUrl2, DWORD dwCompareFlags)
static const WCHAR feature_feedsW[]
HRESULT WINAPI CoInternetIsFeatureEnabled(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags)
static const WCHAR feature_disable_telnet_protocolW[]
static HRESULT parse_schema(LPCWSTR url, DWORD flags, LPWSTR result, DWORD size, DWORD *rsize)
HRESULT WINAPI CoInternetIsFeatureEnabledForUrl(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags, LPCWSTR szURL, IInternetSecurityManager *pSecMgr)
static BOOL get_feature_from_reg(HKEY feature_control, LPCWSTR feature_name, LPCWSTR process_name, BOOL *enabled)
static const WCHAR feature_zone_elevationW[]
static const WCHAR feature_disable_navigation_soundsW[]
static const WCHAR feature_get_url_dom_filepath_unencodedW[]
static const WCHAR feature_disable_legacy_compressionW[]
static HRESULT parse_domain(LPCWSTR url, DWORD flags, LPWSTR result, DWORD size, DWORD *rsize)
HRESULT WINAPI CoInternetIsFeatureZoneElevationEnabled(LPCWSTR szFromURL, LPCWSTR szToURL, IInternetSecurityManager *pSecMgr, DWORD dwFlags)
static const WCHAR feature_protocol_lockdownW[]
HRESULT WINAPI CoInternetSetFeatureEnabled(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags, BOOL fEnable)
static HRESULT parse_path_from_url(LPCWSTR url, DWORD flags, LPWSTR result, DWORD size, DWORD *rsize)
static const WCHAR feature_object_cachingW[]
static CRITICAL_SECTION_DEBUG process_features_cs_dbg
static const WCHAR feature_block_input_promptsW[]
static CRITICAL_SECTION process_features_cs
static const WCHAR feature_validate_navigate_urlW[]
static const WCHAR feature_securitybandW[]
static const WCHAR feature_force_addr_and_statusW[]
static const WCHAR feature_restrict_activexinstallW[]
static const WCHAR feature_localmachine_lockdownW[]
static const WCHAR feature_safe_bindtoobjectW[]
static const WCHAR feature_weboc_popupmanagementW[]
static HRESULT parse_security_url(LPCWSTR url, DWORD flags, LPWSTR result, DWORD size, DWORD *rsize)
static const WCHAR feature_mime_sniffingW[]
static const WCHAR feature_restrict_filedownloadW[]
IInternetProtocolInfo * get_protocol_info(LPCWSTR url)
GLuint GLuint GLsizei GLenum type
GLenum GLenum GLsizei const GLuint GLboolean enabled
#define memcpy(s1, s2, n)
static IInternetProtocolInfo protocol_info
INTERNETFEATURELIST feature
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
static const WCHAR wildcardW[]
LIST_ENTRY ProcessLocksList
DWORD WINAPI GetLastError(void)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
#define HKEY_LOCAL_MACHINE
#define HKEY_CURRENT_USER