23 #ifdef HAVE_CORESERVICES_CORESERVICES_H 24 #define GetCurrentThread MacGetCurrentThread 25 #define LoadResource MacLoadResource 26 #include <CoreServices/CoreServices.h> 27 #undef GetCurrentThread 38 #include "wine/winternl.h" 49 #define DEFAULT_RESOLVE_TIMEOUT 0 50 #define DEFAULT_CONNECT_TIMEOUT 20000 51 #define DEFAULT_SEND_TIMEOUT 30000 52 #define DEFAULT_RECEIVE_TIMEOUT 30000 53 #define DEFAULT_RECEIVE_RESPONSE_TIMEOUT ~0u 106 *buflen =
sizeof(
DWORD);
112 *buflen =
sizeof(
DWORD);
117 *buflen =
sizeof(
DWORD);
122 *buflen =
sizeof(
DWORD);
127 *buflen =
sizeof(
DWORD);
132 *buflen =
sizeof(
DWORD);
137 *buflen =
sizeof(
DWORD);
164 if (buflen !=
sizeof(
policy))
354 *buflen =
sizeof(
DWORD);
359 *buflen =
sizeof(
DWORD);
364 *buflen =
sizeof(
DWORD);
369 *buflen =
sizeof(
DWORD);
374 *buflen =
sizeof(
DWORD);
393 static const WCHAR localW[] = {
'<',
'l',
'o',
'c',
'a',
'l',
'>',0 };
443 #define MAX_HOST_NAME_LENGTH 256 596 TRACE(
"returning %p\n", hconnect);
686 switch (
addr->sa_family)
693 memset( addr_in + 1, 0,
sizeof(*addr_storage) -
sizeof(*addr_in) );
701 memset( addr_in6 + 1, 0,
sizeof(*addr_storage) -
sizeof(*addr_in6) );
705 ERR(
"unhandled family %u\n",
addr->sa_family);
723 *buflen =
sizeof(
flags);
740 *buflen =
sizeof(
flags);
749 *buflen =
sizeof(
cert);
756 *buflen =
sizeof(
cert);
765 FIXME(
"partial stub\n");
767 if (!
buffer || *buflen <
sizeof(*ci))
769 *buflen =
sizeof(*ci);
788 *buflen =
sizeof(*ci);
795 *buflen =
sizeof(
DWORD);
801 *buflen =
sizeof(
DWORD);
813 *buflen =
sizeof(*info);
825 info->cbSize =
sizeof(*info);
830 *buflen =
sizeof(
DWORD);
835 *buflen =
sizeof(
DWORD);
840 *buflen =
sizeof(
DWORD);
845 *buflen =
sizeof(
DWORD);
850 *buflen =
sizeof(
DWORD);
906 if (buflen !=
sizeof(
DWORD))
921 if (buflen !=
sizeof(
DWORD))
936 if (buflen !=
sizeof(
DWORD))
955 if (buflen <
sizeof(
DWORD))
1036 else if (buflen >=
sizeof(
cert))
1070 FIXME(
"WINHTTP_OPTION_CONNECT_RETRIES\n");
1089 static const WCHAR acceptW[] = {
'A',
'c',
'c',
'e',
'p',
't',0};
1106 if (!
object ||
object[0] !=
'/')
len++;
1108 if (!
object ||
object[0] !=
'/') *
p++ =
'/';
1124 TRACE(
"%p, %s, %s, %s, %s, %p, 0x%08x\n", hconnect,
debugstr_w(verb),
debugstr_w(
object),
1130 TRACE(
"accept types:\n");
1171 if (!verb || !verb[0]) verb =
getW;
1187 TRACE(
"returning %p\n", hrequest);
1352 if (len_suffix > len_domain)
return FALSE;
1364 static const WCHAR httpW[] = {
'h',
't',
't',
'p',
':',
'/',
'/',0};
1365 static const WCHAR wpadW[] = {
'/',
'w',
'p',
'a',
'd',
'.',
'd',
'a',
't',0};
1371 if (!ai)
return NULL;
1386 #if defined(MAC_OS_X_VERSION_10_6) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 1387 CFDictionaryRef
settings = CFNetworkCopySystemProxySettings();
1393 if (!(
ref = CFDictionaryGetValue(
settings, kCFNetworkProxiesProxyAutoConfigURLString )))
1398 if (CFStringGetCString(
ref,
buf, buflen, kCFStringEncodingASCII ))
1409 FIXME(
"no support on this platform\n" );
1413 TRACE(
"no support on this platform\n" );
1418 #define INTERNET_MAX_URL_LENGTH 2084 1446 static int fixme_shown;
1447 if (!fixme_shown++)
FIXME(
"discovery via DHCP not supported\n");
1503 'S',
'o',
'f',
't',
'w',
'a',
'r',
'e',
'\\',
1504 'M',
'i',
'c',
'r',
'o',
's',
'o',
'f',
't',
'\\',
1505 'W',
'i',
'n',
'd',
'o',
'w',
's',
'\\',
1506 'C',
'u',
'r',
'r',
'e',
'n',
't',
'V',
'e',
'r',
's',
'i',
'o',
'n',
'\\',
1507 'I',
'n',
't',
'e',
'r',
'n',
'e',
't',
' ',
'S',
'e',
't',
't',
'i',
'n',
'g',
's',
'\\',
1508 'C',
'o',
'n',
'n',
'e',
'c',
't',
'i',
'o',
'n',
's',0 };
1510 'W',
'i',
'n',
'H',
't',
't',
'p',
'S',
'e',
't',
't',
'i',
'n',
'g',
's',0 };
1600 info->lpszProxyBypass = proxy_bypass;
1603 got_from_reg =
TRUE;
1605 info->dwAccessType =
1607 TRACE(
"http proxy (from registry) = %s, bypass = %s\n",
1618 if (!got_from_reg && (envproxy =
getenv(
"http_proxy" )))
1620 char *colon, *http_proxy =
NULL;
1622 if (!(colon =
strchr( envproxy,
':' ))) http_proxy = envproxy;
1625 if (*(colon + 1) ==
'/' && *(colon + 2) ==
'/')
1628 if (!
strncmp( envproxy,
"http://", 7 )) http_proxy = envproxy + 7;
1629 else WARN(
"unsupported scheme in $http_proxy: %s\n", envproxy);
1631 else http_proxy = envproxy;
1634 if (http_proxy && http_proxy[0])
1645 info->lpszProxy = http_proxyW;
1666 static const WCHAR settingsW[] =
1667 {
'D',
'e',
'f',
'a',
'u',
'l',
't',
'C',
'o',
'n',
'n',
'e',
'c',
't',
'i',
'o',
'n',
'S',
'e',
't',
't',
'i',
'n',
'g',
's',0};
1757 while (*
p ==
' ')
p++;
1759 if (
len >= 5 && !
_strnicmp(
p,
"PROXY",
sizeof(
"PROXY") - 1 ))
1762 while (*
p ==
' ')
p++;
1763 if (!*
p || *
p ==
';')
return TRUE;
1768 if (*
q ==
' ' || *
q ==
';')
1780 static const WCHAR typeW[] = {
'*',
'/',
'*',0};
1790 memset( &uc, 0,
sizeof(uc) );
1816 if (!bytes_read)
break;
1868 memset( &uc, 0,
sizeof(uc) );
1869 uc.dwStructSize =
sizeof(uc);
1870 uc.dwHostNameLength = -1;
1874 char *hostnameA =
strdupWA_sized( uc.lpszHostName, uc.dwHostNameLength );
1896 const WCHAR *pac_url;
1930 else pac_url = detected_pac_url;
1962 switch (
info->dwAccessType)
1967 if (!
info->lpszProxy)
1979 if (
info->lpszProxyBypass)
2004 if (
info->lpszProxyBypass)
2026 if (
info->lpszProxyBypass)
2088 if (resolve < -1 ||
connect < -1 ||
send < -1 || receive < -1)
2107 if (resolve < 0) resolve = 0;
2113 if (receive < 0) receive = 0;
2128 if (resolve < 0) resolve = 0;
2134 if (receive < 0) receive = 0;
2148 {{
'S',
'u',
'n', 0}, {
'M',
'o',
'n', 0}, {
'T',
'u',
'e', 0}, {
'W',
'e',
'd', 0},
2149 {
'T',
'h',
'u', 0}, {
'F',
'r',
'i', 0}, {
'S',
'a',
't', 0}};
2151 {{
'J',
'a',
'n', 0}, {
'F',
'e',
'b', 0}, {
'M',
'a',
'r', 0}, {
'A',
'p',
'r', 0},
2152 {
'M',
'a',
'y', 0}, {
'J',
'u',
'n', 0}, {
'J',
'u',
'l', 0}, {
'A',
'u',
'g', 0},
2153 {
'S',
'e',
'p', 0}, {
'O',
'c',
't', 0}, {
'N',
'o',
'v', 0}, {
'D',
'e',
'c', 0}};
2161 {
'%',
's',
',',
' ',
'%',
'0',
'2',
'd',
' ',
'%',
's',
' ',
'%',
'4',
'd',
' ',
'%',
'0',
2162 '2',
'd',
':',
'%',
'0',
'2',
'd',
':',
'%',
'0',
'2',
'd',
' ',
'G',
'M',
'T', 0};
2166 if (!
time || !
string)
2196 if (!
string || !
time)
2212 if (
s[0] ==
'\0' ||
s[1] ==
'\0' ||
s[2] ==
'\0')
return TRUE;
2213 time->wDayOfWeek = 7;
2215 for (
i = 0;
i < 7;
i++)
2221 time->wDayOfWeek =
i;
2226 if (
time->wDayOfWeek > 6)
return TRUE;
2232 if (
s[0] ==
'\0' ||
s[1] ==
'\0' ||
s[2] ==
'\0')
return TRUE;
2235 for (
i = 0;
i < 12;
i++)
2241 time->wMonth =
i + 1;
2245 if (
time->wMonth == 0)
return TRUE;
2248 if (*
s ==
'\0')
return TRUE;
2253 if (*
s ==
'\0')
return TRUE;
2258 if (*
s ==
'\0')
return TRUE;
2263 if (*
s ==
'\0')
return TRUE;
2266 time->wMilliseconds = 0;
HINTERNET WINAPI WinHttpConnect(HINTERNET hsession, LPCWSTR server, INTERNET_PORT port, DWORD reserved)
VOID(CALLBACK * WINHTTP_STATUS_CALLBACK)(_In_ HINTERNET, _In_ DWORD_PTR, _In_ DWORD, _In_ LPVOID, _In_ DWORD)
#define WINHTTP_ACCESS_TYPE_NAMED_PROXY
#define WINHTTP_INVALID_STATUS_CALLBACK
#define ERROR_INVALID_PARAMETER
struct mke2fs_defaults settings[]
#define WINHTTP_HANDLE_TYPE_REQUEST
#define WINHTTP_OPTION_PROXY_PASSWORD
#define WINHTTP_OPTION_CLIENT_CERT_CONTEXT
static BOOL copy_sockaddr(const struct sockaddr *addr, SOCKADDR_STORAGE *addr_storage)
BOOL WINAPI WinHttpQueryOption(HINTERNET handle, DWORD option, LPVOID buffer, LPDWORD buflen)
#define WINHTTP_OPTION_RECEIVE_TIMEOUT
#define SECURITY_FLAG_STRENGTH_MEDIUM
#define WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP
#define WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT
static HANDLE PIO_APC_ROUTINE PVOID PIO_STATUS_BLOCK ULONG PVOID ULONG PVOID ULONG out_size
HGLOBAL NTAPI GlobalAlloc(UINT uFlags, SIZE_T dwBytes)
#define SECURITY_FLAG_IGNORE_UNKNOWN_CA
#define SECURITY_FLAG_STRENGTH_STRONG
BOOL WINAPI WinHttpCloseHandle(HINTERNET handle)
static BOOL alloc_handle(struct handle_table *lpTable, OBJECTHDR *lpObject, HCRYPTKEY *lpHandle)
static rfbScreenInfoPtr server
WINE_UNICODE_INLINE unsigned int strlenW(const WCHAR *str)
#define WINHTTP_OPTION_PASSWORD
#define WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT
char * strcat(char *DstString, const char *SrcString)
#define WINHTTP_ACCESS_TYPE_NO_PROXY
#define WINHTTP_ADDREQ_FLAG_ADD
#define WINHTTP_OPTION_SEND_TIMEOUT
ACPI_SIZE strlen(const char *String)
static BOOL session_query_option(struct object_header *hdr, DWORD option, void *buffer, DWORD *buflen)
struct object_header * grab_object(HINTERNET hinternet)
DWORD WINAPI CertNameToStrW(DWORD dwCertEncodingType, PCERT_NAME_BLOB pName, DWORD dwStrType, LPWSTR psz, DWORD csz)
static WCHAR * strdupW(const WCHAR *src)
WINE_UNICODE_INLINE WCHAR * strchrW(const WCHAR *str, WCHAR ch)
#define WINHTTP_OPTION_SECURE_PROTOCOLS
#define WINHTTP_OPTION_PROXY
static const WCHAR Connections[]
#define HKEY_CURRENT_USER
BOOL WINAPI CertFreeCertificateContext(PCCERT_CONTEXT pCertContext)
const CERT_CONTEXT * client_cert
#define WINHTTP_AUTO_DETECT_TYPE_DHCP
#define ERROR_INVALID_HANDLE
static BOOL connect_query_option(struct object_header *hdr, DWORD option, void *buffer, DWORD *buflen)
static WCHAR * strdupAW(const char *src, int len)
__WINE_SERVER_LIST_INLINE void list_add_head(struct list *list, struct list *elem)
static WCHAR * buffer_to_str(WCHAR *buffer, DWORD buflen)
static const WCHAR typeW[]
WINE_DEFAULT_DEBUG_CHANNEL(urlmon)
#define WINHTTP_QUERY_STATUS_CODE
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
DWORD WINAPI GetLastError(VOID)
SECURITY_STATUS WINAPI FreeCredentialsHandle(PCredHandle phCredential)
BOOL process_header(struct request *request, const WCHAR *field, const WCHAR *value, DWORD flags, BOOL request_only)
#define WINHTTP_OPTION_PROXY_USERNAME
#define ERROR_WINHTTP_AUTODETECTION_FAILED
#define WINHTTP_OPTION_USERNAME
static BOOL query_option(struct object_header *hdr, DWORD option, void *buffer, DWORD *buflen)
BOOL cred_handle_initialized
BOOL WINAPI GetComputerNameExA(COMPUTER_NAME_FORMAT, LPSTR, LPDWORD)
#define SECURITY_FLAG_IGNORE_CERT_CN_INVALID
static const WCHAR wkday[7][4]
static BOOL domain_matches(LPCWSTR server, LPCWSTR domain)
#define strncmpiW(s1, s2, n)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
#define WINHTTP_OPTION_PARENT_HANDLE
#define WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
static WCHAR * build_wpad_url(const char *hostname, const struct addrinfo *ai)
#define WINHTTP_OPTION_SERVER_CERT_CONTEXT
static const DWORD WININET_SETTINGS_MAGIC
INT WSAAPI connect(IN SOCKET s, IN CONST struct sockaddr *name, IN INT namelen)
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
static void * heap_realloc(void *mem, size_t len)
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
static void * heap_alloc(size_t len)
DWORD netconn_set_timeout(struct netconn *netconn, BOOL send, int value)
#define WINHTTP_AUTOPROXY_AUTO_DETECT
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)
static const struct object_vtbl request_vtbl
#define WINHTTP_OPTION_MAX_CONNS_PER_SERVER
LPWSTR lpszSignatureAlgName
WDF_INTERRUPT_POLICY policy
GLenum GLuint GLenum GLsizei const GLchar * buf
static const WCHAR getW[]
static struct list oidInfo
BOOL WINAPI WinHttpQueryHeaders(HINTERNET hrequest, DWORD level, LPCWSTR name, LPVOID buffer, LPDWORD buflen, LPDWORD index)
namespace GUID const ADDRINFOEXW ADDRINFOEXW struct timeval OVERLAPPED LPLOOKUPSERVICE_COMPLETION_ROUTINE HANDLE * handle
LONG WINAPI RegCloseKey(HKEY hKey)
BOOL WINAPI WinHttpTimeToSystemTime(LPCWSTR string, SYSTEMTIME *time)
#define WINHTTP_ACCESS_TYPE_DEFAULT_PROXY
BOOL WINAPI InternetDeInitializeAutoProxyDll(LPSTR, DWORD)
BOOL set_server_for_hostname(struct connect *connect, const WCHAR *server, INTERNET_PORT port)
static WCHAR * blob_to_str(DWORD encoding, CERT_NAME_BLOB *blob)
BOOL WINAPI WinHttpReceiveResponse(HINTERNET hrequest, LPVOID reserved)
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
struct request::@574 creds[TARGET_MAX][SCHEME_MAX]
static const WCHAR version[]
#define INTERNET_MAX_URL_LENGTH
#define WINHTTP_OPTION_REDIRECT_POLICY
#define ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
BOOL WINAPI WinHttpDetectAutoProxyConfigUrl(DWORD flags, LPWSTR *url)
#define CERT_NAME_STR_CRLF_FLAG
void destroy_cookies(struct session *session)
LPWSTR lpszEncryptionAlgName
#define WINHTTP_FLAG_SECURE
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
#define WINHTTP_AUTO_DETECT_TYPE_DNS_A
#define WINHTTP_HANDLE_TYPE_SESSION
static BOOL add_accept_types_header(struct request *request, const WCHAR **types)
BOOL WINAPI WinHttpCrackUrl(LPCWSTR url, DWORD len, DWORD flags, LPURL_COMPONENTSW uc)
WINE_UNICODE_INLINE WCHAR toupperW(WCHAR ch)
static void request_destroy(struct object_header *hdr)
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
#define WINHTTP_OPTION_AUTOLOGON_POLICY
MmuTrapHandler callback[0x30]
VOID WINAPI GetSystemTime(OUT LPSYSTEMTIME lpSystemTime)
BOOL WINAPI WinHttpGetProxyForUrl(HINTERNET hsession, LPCWSTR url, WINHTTP_AUTOPROXY_OPTIONS *options, WINHTTP_PROXY_INFO *info)
static void str_to_buffer(WCHAR *buffer, const WCHAR *str, LPDWORD buflen)
static char * strdupWA_sized(const WCHAR *src, DWORD size)
BOOL WINAPI InternetInitializeAutoProxyDll(DWORD, LPSTR, LPSTR, void *, struct AUTO_PROXY_SCRIPT_BUFFER *)
#define WINHTTP_OPTION_ENABLE_FEATURE
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
#define WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER
BOOL WINAPI WinHttpSetTimeouts(HINTERNET handle, int resolve, int connect, int send, int receive)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
#define WINHTTP_CALLBACK_STATUS_HANDLE_CREATED
static const DWORD PROXY_USE_PAC_SCRIPT
#define WINHTTP_QUERY_FLAG_NUMBER
INT WSAAPI send(IN SOCKET s, IN CONST CHAR FAR *buf, IN INT len, IN INT flags)
const CERT_CONTEXT * server_cert
int strncmp(const char *String1, const char *String2, ACPI_SIZE Count)
BOOL WINAPI WinHttpGetIEProxyConfigForCurrentUser(WINHTTP_CURRENT_USER_IE_PROXY_CONFIG *config)
#define WINHTTP_HANDLE_TYPE_CONNECT
#define WINHTTP_OPTION_CONTEXT_VALUE
static WCHAR * get_request_path(const WCHAR *object)
#define SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE
#define _strnicmp(_String1, _String2, _MaxCount)
HGLOBAL NTAPI GlobalFree(HGLOBAL hMem)
GLdouble GLdouble GLdouble GLdouble q
static BOOL should_bypass_proxy(struct session *session, LPCWSTR server)
struct authinfo * proxy_authinfo
PCRITICAL_SECTION_DEBUG DebugInfo
static const DWORD PROXY_AUTODETECT_SETTINGS
static BOOL is_domain_suffix(const char *domain, const char *suffix)
static void copy_char_to_wchar_sz(const BYTE *src, DWORD len, WCHAR *dst)
WINHTTP_STATUS_CALLBACK WINAPI WinHttpSetStatusCallback(HINTERNET handle, WINHTTP_STATUS_CALLBACK callback, DWORD flags, DWORD_PTR reserved)
static BOOL request_query_option(struct object_header *hdr, DWORD option, void *buffer, DWORD *buflen)
static BOOL run_script(char *script, DWORD size, const WCHAR *url, WINHTTP_PROXY_INFO *info)
GLenum const GLvoid * addr
static const struct object_vtbl session_vtbl
#define DEFAULT_SEND_TIMEOUT
static char * download_script(const WCHAR *url, DWORD *out_size)
static BOOL get_system_proxy_autoconfig_url(char *buf, DWORD buflen)
BOOL free_handle(HINTERNET hinternet)
#define memcpy(s1, s2, n)
static void destroy_authinfo(struct authinfo *info)
#define DEFAULT_CONNECT_TIMEOUT
#define CRYPT_OID_INFO_OID_KEY
static BOOL set_option(struct object_header *hdr, DWORD option, void *buffer, DWORD buflen)
BOOL WINAPI WinHttpSetOption(HINTERNET handle, DWORD option, LPVOID buffer, DWORD buflen)
#define WINHTTP_OPTION_CONNECTION_INFO
static BOOL parse_script_result(const char *result, WINHTTP_PROXY_INFO *info)
static BOOL session_set_option(struct object_header *hdr, DWORD option, void *buffer, DWORD buflen)
#define DEFAULT_RESOLVE_TIMEOUT
#define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID
static BOOL request_set_option(struct object_header *hdr, DWORD option, void *buffer, DWORD buflen)
WINE_UNICODE_INLINE WCHAR * strcpyW(WCHAR *dst, const WCHAR *src)
_Check_return_ char *__cdecl getenv(_In_z_ const char *_VarName)
static char * strdupWA(const WCHAR *src)
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
void send_callback(struct object_header *hdr, DWORD status, void *info, DWORD buflen)
BOOL WINAPI WinHttpSetDefaultProxyConfiguration(WINHTTP_PROXY_INFO *info)
BOOL WINAPI WinHttpTimeFromSystemTime(const SYSTEMTIME *time, LPWSTR string)
#define WINHTTP_OPTION_SECURITY_FLAGS
GLuint GLint GLboolean GLint GLenum access
int receive_response_timeout
static const WCHAR http1_1[]
#define ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT
static const WCHAR WinHttpSettings[]
static void session_destroy(struct object_header *hdr)
WINE_UNICODE_INLINE int isdigitW(WCHAR wc)
#define WINHTTP_OPTION_RESOLVE_TIMEOUT
int receive_response_timeout
PCCERT_CONTEXT WINAPI CertDuplicateCertificateContext(PCCERT_CONTEXT pCertContext)
#define MultiByteToWideChar
struct authinfo * authinfo
static const DWORD PROXY_TYPE_PROXY
char * strchr(const char *String, int ch)
BOOL WINAPI WinHttpGetDefaultProxyConfiguration(WINHTTP_PROXY_INFO *info)
static const DWORD PROXY_TYPE_DIRECT
BOOL WINAPI InternetGetProxyInfo(LPCSTR, DWORD, LPSTR, DWORD, LPSTR *, LPDWORD)
struct addrinfo * ai_next
HINTERNET WINAPI WinHttpOpen(LPCWSTR agent, DWORD access, LPCWSTR proxy, LPCWSTR bypass, DWORD flags)
BOOL WINAPI WinHttpCheckPlatform(void)
#define CERT_SIMPLE_NAME_STR
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
char * strcpy(char *DstString, const char *SrcString)
#define WINHTTP_OPTION_SECURITY_KEY_BITNESS
int netconn_get_cipher_strength(struct netconn *conn)
static int reverse_lookup(const struct addrinfo *ai, char *hostname, size_t len)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
#define DEFAULT_RECEIVE_RESPONSE_TIMEOUT
static char * get_computer_name(COMPUTER_NAME_FORMAT format)
#define WINHTTP_OPTION_CONNECT_RETRIES
#define WINHTTP_ENABLE_SSL_REVOCATION
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
static const DWORD WINHTTP_SETTINGS_MAGIC
#define INTERNET_DEFAULT_PORT
GLuint GLuint GLsizei GLenum type
#define MAX_HOST_NAME_LENGTH
#define ERROR_WINHTTP_INCORRECT_HANDLE_STATE
WINE_UNICODE_INLINE int isalphaW(WCHAR wc)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
PCCRYPT_OID_INFO WINAPI CryptFindOIDInfo(DWORD dwKeyType, void *pvKey, DWORD dwGroupId)
static const WCHAR httpW[]
#define DEFAULT_RECEIVE_TIMEOUT
#define WINHTTP_OPTION_CONNECT_TIMEOUT
HINTERNET WINAPI WinHttpOpenRequest(HINTERNET hconnect, LPCWSTR verb, LPCWSTR object, LPCWSTR version, LPCWSTR referrer, LPCWSTR *types, DWORD flags)
#define WINHTTP_AUTOPROXY_CONFIG_URL
static void connect_destroy(struct object_header *hdr)
static SERVICE_STATUS status
struct object_header * addref_object(struct object_header *hdr)
BOOL WINAPI WinHttpSendRequest(HINTERNET hrequest, LPCWSTR headers, DWORD headers_len, LPVOID optional, DWORD optional_len, DWORD total_len, DWORD_PTR context)
INT WSAAPI getsockname(IN SOCKET s, OUT LPSOCKADDR name, IN OUT INT FAR *namelen)
#define ERROR_WINHTTP_INVALID_OPTION
struct sockaddr * ai_addr
#define SECURITY_FLAG_STRENGTH_WEAK
static const WCHAR month[12][4]
BOOL WINAPI WinHttpReadData(HINTERNET hrequest, LPVOID buffer, DWORD to_read, LPDWORD read)
#define WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT
static void accepted(enum accept_stat, struct rpc_err *)
static const struct object_vtbl connect_vtbl
WINE_UNICODE_INLINE int atoiW(const WCHAR *str)
DWORD_PTR Spare[8/sizeof(DWORD_PTR)]
#define WINHTTP_OPTION_DISABLE_FEATURE
static BOOL heap_free(void *mem)
#define WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH
#define HKEY_LOCAL_MACHINE
#define ERROR_INSUFFICIENT_BUFFER
void release_object(struct object_header *hdr)
GLuint const GLchar * name