41#define DEFAULT_RESOLVE_TIMEOUT 0
42#define DEFAULT_CONNECT_TIMEOUT 20000
43#define DEFAULT_SEND_TIMEOUT 30000
44#define DEFAULT_RECEIVE_TIMEOUT 30000
45#define DEFAULT_RECEIVE_RESPONSE_TIMEOUT ~0u
89 if (!
buffer || *buflen < required)
109 *buflen =
sizeof(
DWORD);
116 *buflen =
sizeof(
DWORD);
123 *buflen =
sizeof(
DWORD);
130 *buflen =
sizeof(
DWORD);
137 *buflen =
sizeof(
DWORD);
144 *buflen =
sizeof(
DWORD);
151 *buflen =
sizeof(
DWORD);
158 *buflen =
sizeof(
DWORD);
185 if (buflen !=
sizeof(
policy))
247 FIXME(
"WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER: %lu\n", *(
DWORD *)
buffer );
402 *buflen =
sizeof(
DWORD);
409 *buflen =
sizeof(
DWORD);
416 *buflen =
sizeof(
DWORD);
423 *buflen =
sizeof(
DWORD);
430 *buflen =
sizeof(
DWORD);
499#define MAX_HOST_NAME_LENGTH 256
647 TRACE(
"returning %p\n", hconnect);
726 switch (
addr->sa_family)
733 memset( addr_in + 1, 0,
sizeof(*addr_storage) -
sizeof(*addr_in) );
741 memset( addr_in6 + 1, 0,
sizeof(*addr_storage) -
sizeof(*addr_in6) );
745 ERR(
"unhandled family %u\n",
addr->sa_family);
756 memset( &uc, 0,
sizeof(uc) );
810 *buflen =
sizeof(
flags);
821 *buflen =
sizeof(
cert);
830 FIXME(
"partial stub\n");
847 *buflen =
sizeof(*ci);
855 *buflen =
sizeof(
DWORD);
875 info->cbSize =
sizeof(*info);
882 *buflen =
sizeof(
DWORD);
889 *buflen =
sizeof(
DWORD);
896 *buflen =
sizeof(
DWORD);
903 *buflen =
sizeof(
DWORD);
910 *buflen =
sizeof(
DWORD);
929 *buflen =
sizeof(
DWORD);
935 FIXME(
"WINHTTP_OPTION_HTTP_PROTOCOL_USED\n");
937 *buflen =
sizeof(
DWORD);
944 *buflen =
sizeof(
DWORD);
951 *buflen =
sizeof(
DWORD);
1002 if (buflen !=
sizeof(
DWORD))
1017 if (buflen !=
sizeof(
DWORD))
1032 if (buflen !=
sizeof(
DWORD))
1051 if (buflen <
sizeof(
DWORD))
1132 else if (buflen >=
sizeof(*
cert))
1170 FIXME(
"WINHTTP_OPTION_CONNECT_RETRIES\n");
1174 if (buflen ==
sizeof(
DWORD))
1185 FIXME(
"WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE\n");
1189 FIXME(
"WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE\n");
1193 if (buflen ==
sizeof(
DWORD))
1212 WARN(
"Setting websocket receive buffer size currently has not effct, size %lu\n",
buffer_size );
1266 if (!
object ||
object[0] !=
'/')
len++;
1268 if (!
object ||
object[0] !=
'/') *
p++ =
'/';
1284 TRACE(
"%p, %s, %s, %s, %s, %p, %#lx\n", hconnect,
debugstr_w(verb),
debugstr_w(
object),
1290 TRACE(
"accept types:\n");
1334 if (!verb || !verb[0]) verb =
L"GET";
1350 TRACE(
"returning %p\n", hrequest);
1389 FIXME(
"WINHTTP_OPTION_WORKER_THREAD_COUNT semi-stub.\n" );
1393 *buflen =
sizeof(
DWORD);
1501 ULONG err,
size = 1024,
flags = GAA_FLAG_SKIP_ANYCAST | GAA_FLAG_SKIP_MULTICAST |
1503 IP_ADAPTER_ADDRESSES *tmp, *
ret;
1520 IP_ADAPTER_ADDRESSES *adapters, *
ptr;
1529 memset( &send_params, 0,
sizeof(send_params) );
1593 if (len_suffix > len_domain)
return FALSE;
1610 if (!ai)
return NULL;
1703 L"Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Connections";
1794 info->lpszProxyBypass = proxy_bypass;
1797 got_from_reg =
TRUE;
1799 info->dwAccessType =
1801 TRACE(
"http proxy (from registry) = %s, bypass = %s\n",
1812 if (!got_from_reg && (envproxy =
_wgetenv(
L"http_proxy" )))
1816 if (!(colon =
wcschr( envproxy,
':' ))) http_proxy = envproxy;
1819 if (*(colon + 1) ==
'/' && *(colon + 2) ==
'/')
1822 if (!
wcsncmp( envproxy,
L"http://", 7 )) http_proxy = envproxy + 7;
1823 else WARN(
"unsupported scheme in $http_proxy: %s\n",
debugstr_w(envproxy));
1825 else http_proxy = envproxy;
1828 if (http_proxy && http_proxy[0])
1942 while (*
p ==
' ')
p++;
1944 if (
len >= 5 && !
_strnicmp(
p,
"PROXY",
sizeof(
"PROXY") - 1 ))
1947 while (*
p ==
' ')
p++;
1948 if (!*
p || *
p ==
';')
return TRUE;
1952 if (!
info->lpszProxy)
1959 q =
info->lpszProxy;
1963 if (*
q ==
' ' || *
q ==
';')
2019 static const WCHAR *acceptW[] = {
L"*/*",
NULL};
2028 TRACE(
"Returning cached result.\n" );
2033 memset( &uc, 0,
sizeof(uc) );
2060 if (!bytes_read)
break;
2094#define MAX_SCHEME_LENGTH 32
2099 char *
result, *urlA, *hostnameA;
2100 DWORD len, len_scheme, len_hostname;
2104 memset( &uc, 0,
sizeof(uc) );
2105 uc.dwStructSize =
sizeof(uc);
2106 uc.dwSchemeLength = -1;
2107 uc.dwHostNameLength = -1;
2113 scheme[uc.dwSchemeLength] = 0;
2119 memcpy(
buf, uc.lpszHostName, uc.dwHostNameLength *
sizeof(
WCHAR) );
2120 buf[uc.dwHostNameLength] = 0;
2131 if (!(urlA =
malloc(
len + len_scheme + len_hostname + 3 )))
return FALSE;
2133 urlA[len_scheme++] =
':';
2134 urlA[len_scheme++] =
'/';
2135 urlA[len_scheme++] =
'/';
2137 hostnameA = urlA + len_scheme;
2139 urlA + len_scheme + len_hostname,
len,
NULL,
NULL );
2235 switch (
info->dwAccessType)
2240 if (!
info->lpszProxy)
2252 if (
info->lpszProxyBypass)
2277 if (
info->lpszProxyBypass)
2298 if (
info->lpszProxyBypass)
2330 FIXME(
"%p, %p\n", hsession, hresolver);
2374 FIXME(
"%p, %s, %p, %lu, %p, %Ix\n", hresolver,
debugstr_w(
url),
options, selection_len,
selection,
ctx );
2412 FIXME(
"%p, %s, %d, %d, %p, %p, %p\n", hsession,
debugstr_w(connection), use_defaults, set_autodiscover,
2467 if (resolve < -1 ||
connect < -1 ||
send < -1 || receive < -1)
2486 if (resolve < 0) resolve = 0;
2492 if (receive < 0) receive = 0;
2507 if (resolve < 0) resolve = 0;
2513 if (receive < 0) receive = 0;
2527 {
L"Sun",
L"Mon",
L"Tue",
L"Wed",
L"Thu",
L"Fri",
L"Sat"};
2529 {
L"Jan",
L"Feb",
L"Mar",
L"Apr",
L"May",
L"Jun",
L"Jul",
L"Aug",
L"Sep",
L"Oct",
L"Nov",
L"Dec"};
2538 if (!
time || !
string)
2545 L"%s, %02d %s %4d %02d:%02d:%02d GMT",
2569 if (!
string || !
time)
2585 if (
s[0] ==
'\0' ||
s[1] ==
'\0' ||
s[2] ==
'\0')
return TRUE;
2586 time->wDayOfWeek = 7;
2588 for (
i = 0;
i < 7;
i++)
2594 time->wDayOfWeek =
i;
2599 if (
time->wDayOfWeek > 6)
return TRUE;
2605 if (
s[0] ==
'\0' ||
s[1] ==
'\0' ||
s[2] ==
'\0')
return TRUE;
2608 for (
i = 0;
i < 12;
i++)
2614 time->wMonth =
i + 1;
2618 if (
time->wMonth == 0)
return TRUE;
2621 if (*
s ==
'\0')
return TRUE;
2626 if (*
s ==
'\0')
return TRUE;
2631 if (*
s ==
'\0')
return TRUE;
2636 if (*
s ==
'\0')
return TRUE;
2639 time->wMilliseconds = 0;
struct mke2fs_defaults settings[]
WINBASEAPI _Check_return_ _Out_ AppPolicyProcessTerminationMethod * policy
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static void list_init(struct list_entry *head)
#define RegCloseKey(hKey)
#define ERROR_INSUFFICIENT_BUFFER
#define DHCPCAPI_REQUEST_SYNCHRONOUS
#define OPTION_MSFT_IE_PROXY
DWORD APIENTRY DhcpRequestParams(DWORD Flags, PVOID Reserved, LPWSTR AdapterName, LPDHCPCAPI_CLASSID ClassId, DHCPCAPI_PARAMS_ARRAY SendParams, DHCPCAPI_PARAMS_ARRAY RecdParams, LPBYTE Buffer, LPDWORD pSize, LPWSTR RequestIdStr)
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
static WCHAR * strdupAW(const char *src)
BOOL WINAPI CertFreeCertificateContext(PCCERT_CONTEXT pCertContext)
PCCERT_CONTEXT WINAPI CertDuplicateCertificateContext(PCCERT_CONTEXT pCertContext)
static struct list oidInfo
PCCRYPT_OID_INFO WINAPI CryptFindOIDInfo(DWORD dwKeyType, void *pvKey, DWORD dwGroupId)
DWORD WINAPI CertNameToStrW(DWORD dwCertEncodingType, PCERT_NAME_BLOB pName, DWORD dwStrType, LPWSTR psz, DWORD csz)
#define ERROR_INVALID_PARAMETER
#define _strnicmp(_String1, _String2, _MaxCount)
#define stricmp(_String1, _String2)
#define ERROR_INVALID_HANDLE
#define WideCharToMultiByte
#define MultiByteToWideChar
static const WCHAR version[]
VOID WINAPI GetSystemTime(OUT LPSYSTEMTIME lpSystemTime)
VOID WINAPI AcquireSRWLockExclusive(PSRWLOCK Lock)
VOID WINAPI ReleaseSRWLockExclusive(PSRWLOCK Lock)
BOOL WINAPI InitializeCriticalSectionEx(OUT LPCRITICAL_SECTION lpCriticalSection, IN DWORD dwSpinCount, IN DWORD flags)
ULONGLONG WINAPI DECLSPEC_HOTPATCH GetTickCount64(void)
wchar_t *CDECL _wgetenv(const wchar_t *name)
_ACRTIMP __msvcrt_long __cdecl wcstol(const wchar_t *, wchar_t **, int)
_ACRTIMP size_t __cdecl wcslen(const wchar_t *)
_ACRTIMP int __cdecl wcscmp(const wchar_t *, const wchar_t *)
_ACRTIMP int __cdecl wcsncmp(const wchar_t *, const wchar_t *, size_t)
_ACRTIMP char *__cdecl strchr(const char *, int)
_ACRTIMP size_t __cdecl strlen(const char *)
static wchar_t * wcslwr(wchar_t *str)
static wchar_t * wcsdup(const wchar_t *str)
static BOOL alloc_handle(struct handle_table *lpTable, OBJECTHDR *lpObject, HCRYPTKEY *lpHandle)
BOOL free_handle(HINTERNET hinternet)
struct object_header * grab_object(HINTERNET hinternet)
void release_object(struct object_header *hdr)
struct object_header * addref_object(struct object_header *hdr)
DWORD netconn_set_timeout(struct netconn *netconn, BOOL send, int value)
int netconn_get_cipher_strength(struct netconn *conn)
HINTERNET WINAPI WinHttpOpenRequest(HINTERNET hconnect, const WCHAR *verb, const WCHAR *object, const WCHAR *version, const WCHAR *referrer, const WCHAR **types, DWORD flags)
static BOOL request_set_option(struct object_header *hdr, DWORD option, void *buffer, DWORD buflen)
BOOL WINAPI WinHttpGetDefaultProxyConfiguration(WINHTTP_PROXY_INFO *info)
void WINAPI WinHttpFreeProxyResult(WINHTTP_PROXY_RESULT *result)
static const struct object_vtbl session_vtbl
static void session_destroy(struct object_header *hdr)
static BOOL should_bypass_proxy(struct session *session, LPCWSTR server)
BOOL WINAPI WinHttpQueryOption(HINTERNET handle, DWORD option, void *buffer, DWORD *buflen)
static const WCHAR wkday[7][4]
static const struct object_vtbl request_vtbl
HINTERNET WINAPI WinHttpOpen(LPCWSTR agent, DWORD access, LPCWSTR proxy, LPCWSTR bypass, DWORD flags)
#define DEFAULT_RECEIVE_TIMEOUT
static BOOL request_query_option(struct object_header *hdr, DWORD option, void *buffer, DWORD *buflen)
static WCHAR * detect_autoproxyconfig_url_dhcp(void)
#define DEFAULT_RESOLVE_TIMEOUT
static void connect_destroy(struct object_header *hdr)
static const DWORD PROXY_AUTODETECT_SETTINGS
DWORD WINAPI WinHttpResetAutoProxy(HINTERNET hsession, DWORD flags)
static WCHAR * buffer_to_str(WCHAR *buffer, DWORD buflen)
BOOL WINAPI WinHttpGetIEProxyConfigForCurrentUser(WINHTTP_CURRENT_USER_IE_PROXY_CONFIG *config)
static WCHAR * build_wpad_url(const char *hostname, const struct addrinfo *ai)
static int reverse_lookup(const struct addrinfo *ai, char *hostname, size_t len)
void WINAPI WinHttpFreeProxySettings(WINHTTP_PROXY_SETTINGS *settings)
static const WCHAR path_connections[]
HINTERNET WINAPI WinHttpConnect(HINTERNET hsession, const WCHAR *server, INTERNET_PORT port, DWORD reserved)
#define MAX_HOST_NAME_LENGTH
static const DWORD WININET_SETTINGS_MAGIC
BOOL WINAPI WinHttpSetOption(HINTERNET handle, DWORD option, void *buffer, DWORD buflen)
static void cache_script(const WCHAR *url, char *buffer, DWORD size)
BOOL WINAPI WinHttpGetProxyForUrl(HINTERNET hsession, LPCWSTR url, WINHTTP_AUTOPROXY_OPTIONS *options, WINHTTP_PROXY_INFO *info)
static const DWORD PROXY_TYPE_PROXY
static BOOL set_option(struct object_header *hdr, DWORD option, void *buffer, DWORD buflen)
void WINAPI WinHttpFreeProxyResultEx(WINHTTP_PROXY_RESULT_EX *result)
BOOL WINAPI InternetDeInitializeAutoProxyDll(LPSTR, DWORD)
static WCHAR * detect_autoproxyconfig_url_dns(void)
static const DWORD PROXY_USE_PAC_SCRIPT
static BOOL session_set_option(struct object_header *hdr, DWORD option, void *buffer, DWORD buflen)
static WCHAR * blob_to_str(DWORD encoding, CERT_NAME_BLOB *blob)
DWORD WINAPI WinHttpGetProxyForUrlEx(HINTERNET hresolver, const WCHAR *url, WINHTTP_AUTOPROXY_OPTIONS *options, DWORD_PTR ctx)
static char * download_script(const WCHAR *url, DWORD *out_size)
BOOL WINAPI WinHttpTimeFromSystemTime(const SYSTEMTIME *time, LPWSTR string)
DWORD WINAPI WinHttpGetProxyResult(HINTERNET hresolver, WINHTTP_PROXY_RESULT *result)
#define MAX_SCHEME_LENGTH
#define DEFAULT_SEND_TIMEOUT
BOOL WINAPI InternetInitializeAutoProxyDll(DWORD, LPSTR, LPSTR, void *, struct AUTO_PROXY_SCRIPT_BUFFER *)
BOOL WINAPI WinHttpSetDefaultProxyConfiguration(WINHTTP_PROXY_INFO *info)
BOOL set_server_for_hostname(struct connect *connect, const WCHAR *server, INTERNET_PORT port)
BOOL WINAPI WinHttpCloseHandle(HINTERNET handle)
static char * get_computer_name(COMPUTER_NAME_FORMAT format)
static BOOL query_option(struct object_header *hdr, DWORD option, void *buffer, DWORD *buflen)
static BOOL copy_sockaddr(const struct sockaddr *addr, SOCKADDR_STORAGE *addr_storage)
BOOL WINAPI WinHttpSetTimeouts(HINTERNET handle, int resolve, int connect, int send, int receive)
static ULONGLONG cache_update_time
DWORD WINAPI WinHttpWriteProxySettings(HINTERNET hsession, BOOL force, WINHTTP_PROXY_SETTINGS *settings)
static const DWORD PROXY_TYPE_DIRECT
BOOL WINAPI WinHttpDetectAutoProxyConfigUrl(DWORD flags, WCHAR **url)
DWORD WINAPI WinHttpGetProxyResultEx(HINTERNET hresolver, WINHTTP_PROXY_RESULT_EX *result)
static char * cached_script
static WCHAR * get_request_path(const WCHAR *object)
static BOOL parse_script_result(const char *result, WINHTTP_PROXY_INFO *info)
#define DEFAULT_RECEIVE_RESPONSE_TIMEOUT
static const WCHAR month[12][4]
DWORD WINAPI WinHttpReadProxySettings(HINTERNET hsession, const WCHAR *connection, BOOL use_defaults, BOOL set_autodiscover, DWORD *version, BOOL *defaults_returned, WINHTTP_PROXY_SETTINGS *settings)
static SRWLOCK cache_lock
static BOOL return_string_option(WCHAR *buffer, const WCHAR *str, LPDWORD buflen)
DWORD WINAPI WinHttpGetProxyForUrlEx2(HINTERNET hresolver, const WCHAR *url, WINHTTP_AUTOPROXY_OPTIONS *options, DWORD selection_len, BYTE *selection, DWORD_PTR ctx)
#define DEFAULT_CONNECT_TIMEOUT
static BOOL validate_buffer(void *buffer, DWORD *buflen, DWORD required)
static void copy_char_to_wchar_sz(const BYTE *src, DWORD len, WCHAR *dst)
DWORD WINAPI WinHttpGetProxySettingsVersion(HINTERNET hsession, DWORD *version)
static const struct object_vtbl connect_vtbl
BOOL WINAPI WinHttpCheckPlatform(void)
static IP_ADAPTER_ADDRESSES * get_adapters(void)
DWORD WINAPI WinHttpCreateProxyResolver(HINTERNET hsession, HINTERNET *hresolver)
static BOOL session_query_option(struct object_header *hdr, DWORD option, void *buffer, DWORD *buflen)
static WCHAR * build_url(struct request *request)
static BOOL is_domain_suffix(const char *domain, const char *suffix)
static DWORD cached_script_size
static BOOL run_script(char *script, DWORD size, const WCHAR *url, WINHTTP_PROXY_INFO *info, DWORD flags)
static BOOL get_cached_script(const WCHAR *url, char **buffer, DWORD *out_size)
static BOOL domain_matches(LPCWSTR server, LPCWSTR domain)
BOOL WINAPI WinHttpTimeToSystemTime(LPCWSTR string, SYSTEMTIME *time)
static BOOL add_accept_types_header(struct request *request, const WCHAR **types)
WINHTTP_STATUS_CALLBACK WINAPI WinHttpSetStatusCallback(HINTERNET handle, WINHTTP_STATUS_CALLBACK callback, DWORD flags, DWORD_PTR reserved)
static BOOL connect_query_option(struct object_header *hdr, DWORD option, void *buffer, DWORD *buflen)
static const DWORD WINHTTP_SETTINGS_MAGIC
static WCHAR * cached_url
static void request_destroy(struct object_header *hdr)
BOOL WINAPI InternetGetProxyInfo(LPCSTR, DWORD, LPSTR, DWORD, LPSTR *, LPDWORD)
BOOL WINAPI WinHttpCreateUrl(URL_COMPONENTS *uc, DWORD flags, WCHAR *url, DWORD *required)
BOOL WINAPI WinHttpCrackUrl(const WCHAR *url, DWORD len, DWORD flags, URL_COMPONENTSW *uc)
INT WSAAPI send(IN SOCKET s, IN CONST CHAR FAR *buf, IN INT len, IN INT flags)
GLuint GLuint GLsizei GLenum type
GLdouble GLdouble GLdouble GLdouble q
GLenum GLuint GLenum GLsizei const GLchar * buf
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
GLenum const GLvoid * addr
GLuint GLint GLboolean GLint GLenum access
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
HGLOBAL NTAPI GlobalFree(HGLOBAL hMem)
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
HGLOBAL NTAPI GlobalAlloc(UINT uFlags, SIZE_T dwBytes)
#define GAA_FLAG_SKIP_FRIENDLY_NAME
BOOL WINAPI GetComputerNameExA(COMPUTER_NAME_FORMAT, LPSTR, LPDWORD)
#define IF_TYPE_SOFTWARE_LOOPBACK
#define memcpy(s1, s2, n)
static IPrintDialogCallback callback
static PROCESS_INFORMATION pi
static HANDLE PIO_APC_ROUTINE PVOID PIO_STATUS_BLOCK ULONG PVOID ULONG PVOID ULONG out_size
#define MAX_ADAPTER_NAME_LENGTH
void init_queue(struct queue *queue)
BOOL WINAPI WinHttpQueryHeaders(HINTERNET hrequest, DWORD level, const WCHAR *name, void *buffer, DWORD *buflen, DWORD *index)
void stop_queue(struct queue *queue)
BOOL WINAPI WinHttpReadData(HINTERNET hrequest, void *buffer, DWORD to_read, DWORD *read)
DWORD process_header(struct request *request, const WCHAR *field, const WCHAR *value, DWORD flags, BOOL request_only)
BOOL WINAPI WinHttpSendRequest(HINTERNET hrequest, const WCHAR *headers, DWORD headers_len, void *optional, DWORD optional_len, DWORD total_len, DWORD_PTR context)
BOOL WINAPI WinHttpReceiveResponse(HINTERNET hrequest, LPVOID reserved)
static void accepted(enum accept_stat, struct rpc_err *)
static void destroy_authinfo(struct authinfo *info)
namespace GUID const ADDRINFOEXW * hints
INT WSAAPI getsockname(IN SOCKET s, OUT LPSOCKADDR name, IN OUT INT FAR *namelen)
wchar_t const *const size_t const buffer_size
LPWSTR lpszSignatureAlgName
LPWSTR lpszEncryptionAlgName
PRTL_CRITICAL_SECTION_DEBUG DebugInfo
struct sockaddr * ai_addr
struct addrinfo * ai_next
unsigned int websocket_set_send_buffer_size
struct request::@633 creds[TARGET_MAX][SCHEME_MAX]
const CERT_CONTEXT * server_cert
const CERT_CONTEXT * client_cert
struct authinfo * authinfo
unsigned int websocket_receive_buffer_size
unsigned int websocket_send_buffer_size
int receive_response_timeout
BOOL cred_handle_initialized
struct authinfo * proxy_authinfo
int receive_response_timeout
unsigned int websocket_receive_buffer_size
unsigned int websocket_send_buffer_size
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
static rfbScreenInfoPtr server
DWORD WINAPI GetLastError(void)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
#define CERT_SIMPLE_NAME_STR
#define CERT_NAME_STR_CRLF_FLAG
#define CRYPT_OID_INFO_OID_KEY
#define ERROR_BUFFER_OVERFLOW
void destroy_cookies(struct session *session)
#define WINHTTP_OPTION_PROXY
#define WINHTTP_HANDLE_TYPE_REQUEST
#define SECURITY_FLAG_STRENGTH_MEDIUM
#define WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE
#define WINHTTP_OPTION_PROXY_PASSWORD
#define WINHTTP_OPTION_USERNAME
#define WINHTTP_AUTO_DETECT_TYPE_DHCP
#define WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH
#define WINHTTP_OPTION_MAX_CONNS_PER_SERVER
#define WINHTTP_OPTION_CONTEXT_VALUE
#define WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS
#define WINHTTP_OPTION_HTTP_PROTOCOL_USED
#define SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE
#define WINHTTP_OPTION_SEND_TIMEOUT
#define WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT
#define WINHTTP_OPTION_CONNECTION_INFO
#define WINHTTP_OPTION_SERVER_CERT_CONTEXT
#define WINHTTP_OPTION_SECURITY_FLAGS
#define WINHTTP_HANDLE_TYPE_CONNECT
#define WINHTTP_HANDLE_TYPE_SESSION
#define SECURITY_FLAG_STRENGTH_WEAK
#define WINHTTP_OPTION_PROXY_USERNAME
#define WINHTTP_OPTION_ENABLE_FEATURE
#define WINHTTP_INVALID_STATUS_CALLBACK
#define WINHTTP_OPTION_PASSWORD
#define WINHTTP_OPTION_URL
#define WINHTTP_OPTION_RESOLVE_TIMEOUT
#define WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE
#define WINHTTP_OPTION_DISABLE_FEATURE
#define WINHTTP_OPTION_CLIENT_CERT_CONTEXT
#define WINHTTP_ENABLE_SSL_REVOCATION
#define WINHTTP_AUTOPROXY_AUTO_DETECT
#define WINHTTP_QUERY_STATUS_CODE
#define WINHTTP_ACCESS_TYPE_DEFAULT_PROXY
#define WINHTTP_ACCESS_TYPE_NAMED_PROXY
#define WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP
#define ERROR_WINHTTP_INCORRECT_HANDLE_STATE
#define ERROR_WINHTTP_INVALID_OPTION
#define WINHTTP_ADDREQ_FLAG_ADD
#define WINHTTP_OPTION_CONNECT_RETRIES
#define WINHTTP_QUERY_FLAG_NUMBER
#define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID
#define ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT
#define WINHTTP_AUTO_DETECT_TYPE_DNS_A
#define WINHTTP_OPTION_CONNECT_TIMEOUT
#define WINHTTP_OPTION_AUTOLOGON_POLICY
VOID(CALLBACK * WINHTTP_STATUS_CALLBACK)(_In_ HINTERNET, _In_ DWORD_PTR, _In_ DWORD, _In_ LPVOID, _In_ DWORD)
#define WINHTTP_OPTION_RECEIVE_TIMEOUT
#define INTERNET_DEFAULT_PORT
#define ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR
#define ERROR_WINHTTP_AUTODETECTION_FAILED
#define INTERNET_SCHEME_HTTP
#define ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
#define WINHTTP_ACCESS_TYPE_NO_PROXY
#define WINHTTP_AUTOPROXY_HOST_KEEPCASE
#define WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT
#define WINHTTP_AUTOPROXY_HOST_LOWERCASE
#define WINHTTP_CALLBACK_STATUS_HANDLE_CREATED
#define WINHTTP_FLAG_SECURE
#define WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT
#define WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE
#define INTERNET_SCHEME_HTTPS
#define WINHTTP_OPTION_REDIRECT_POLICY
#define WINHTTP_OPTION_SECURITY_KEY_BITNESS
#define WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL
#define WINHTTP_OPTION_SECURE_PROTOCOLS
#define WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET
#define SECURITY_FLAG_STRENGTH_STRONG
#define SECURITY_FLAG_IGNORE_UNKNOWN_CA
#define WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
#define WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER
#define WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE
#define WINHTTP_OPTION_PARENT_HANDLE
#define WINHTTP_AUTOPROXY_CONFIG_URL
#define SECURITY_FLAG_IGNORE_CERT_CN_INVALID
#define WINHTTP_TIME_FORMAT_BUFSIZE
#define WINHTTP_OPTION_WORKER_THREAD_COUNT
@ REQUEST_FLAG_WEBSOCKET_UPGRADE
#define RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO
#define HKEY_LOCAL_MACHINE
#define HKEY_CURRENT_USER
SECURITY_STATUS WINAPI FreeCredentialsHandle(PCredHandle phCredential)