Juan Lang
|
aeca2f98fa
|
wininet: Accept RFC 850 dates in HTTP headers.
|
2011-10-24 11:15:59 +02:00 |
Hans Leidekker
|
85e9e21929
|
wininet: Ignore the accept types array in HttpOpenRequestA if there are invalid pointers.
|
2011-09-27 16:24:26 +02:00 |
André Hentschel
|
d8f036e4dc
|
wininet: Don't return a relative path when building the proxy url request.
|
2011-08-24 11:58:13 +02:00 |
André Hentschel
|
0fda135f3f
|
wininet: Use the constants from the wininet header.
|
2011-08-24 11:58:13 +02:00 |
Jacek Caban
|
0281b7d30b
|
wininet: Fixed realm allocation in cache_basic_authorization.
|
2011-07-28 18:37:40 +02:00 |
Jacek Caban
|
cfdc539972
|
wininet: Set content_length when we reach end of data in netconn_read.
|
2011-06-10 15:28:37 +02:00 |
Jacek Caban
|
8e37ed551a
|
wininet: Don't pass handle to INTERNET_REQUEST_COMPLETE unless the request is opened via InternetPoenUrl.
|
2011-06-10 15:28:32 +02:00 |
Jacek Caban
|
c0293df46a
|
wininet: Moved INTERNET_STATUS_REQUEST_COMPLETE notifications sending to separated function.
|
2011-06-10 15:28:26 +02:00 |
Hans Leidekker
|
9acd1ef15f
|
wininet: Consistently use the allocation macros.
|
2011-06-01 15:16:53 +02:00 |
Hans Leidekker
|
14d4d1957d
|
wininet: Don't change the verb if the server response is HTTP_STATUS_REDIRECT_KEEP_VERB.
|
2011-06-01 15:16:49 +02:00 |
Jacek Caban
|
193da884ad
|
wininet: Correctly handle closed socket in HTTP_ReceiveRequestData.
|
2011-05-23 16:25:42 +02:00 |
Jacek Caban
|
2e2ed52cfb
|
wininet: Use set_cookie directly in HTTP_ProcessCookies.
|
2011-05-19 19:37:26 +02:00 |
Jacek Caban
|
dce9181c91
|
wininet: Use get_cookie directly in HTTP_InsertCookies.
|
2011-05-19 19:37:26 +02:00 |
Juan Lang
|
d797e5fc7e
|
wininet: Handle invalid HTTP time of "0".
|
2011-05-13 17:05:28 +02:00 |
Jacek Caban
|
a890e3a144
|
wininet: Fixed handling of 204 No Content response.
|
2011-05-13 17:05:27 +02:00 |
Jacek Caban
|
086eb61c84
|
wininet: Don't depend on is_end_of_read_data in HTTPREQ_Read.
|
2011-05-13 17:05:27 +02:00 |
Jacek Caban
|
8a1df203ae
|
wininet: Added support for persistent HTTP connections.
|
2011-05-10 18:57:23 +02:00 |
Karsten Elfenbein
|
5b173cb405
|
wininet: Follow 307 temporary redirect.
|
2011-05-09 11:44:29 +02:00 |
Jacek Caban
|
4c1c5fe64c
|
wininet: Moved connected check out of NETCON_set_timeout.
|
2011-05-04 17:26:51 +02:00 |
Jacek Caban
|
59f2e837eb
|
wininet: Allocate buffer for host name in HTTP_HttpOpenRequestW only if needed.
|
2011-05-02 12:48:05 +02:00 |
Jacek Caban
|
aa612ec39b
|
wininet: Get rid of useless read_ret in netconn_read.
|
2011-05-02 12:48:00 +02:00 |
Jacek Caban
|
55b2722816
|
wininet: Use wrappers for HeapReAlloc calls.
|
2011-04-22 12:59:17 +02:00 |
Jacek Caban
|
354a74e004
|
wininet: Use wrappers for HeapAlloc calls.
|
2011-04-21 16:53:42 +02:00 |
Juan Lang
|
0b8bfd9736
|
wininet: Honor security flags specified when opening a connection.
|
2011-04-07 17:48:28 +02:00 |
Jacek Caban
|
9e30a2f5ee
|
wininet: Check NETCON_connected in netconn_end_of_data.
|
2011-04-06 21:17:41 +02:00 |
Michael Stefaniuc
|
9bf247d44e
|
wininet: Move "inline" right after the storage specifier.
|
2011-04-05 16:23:02 +02:00 |
Jacek Caban
|
ccd11eb7d6
|
wininet: Abstract different transfer and content encoding reading to layered structures.
|
2011-04-04 11:52:56 +02:00 |
André Hentschel
|
1a39e29c3b
|
wininet: Port numbers are unsigned.
|
2011-03-28 17:26:14 +02:00 |
Jacek Caban
|
685daf2006
|
wininet: Ensure that we have data to report before sending INTERNET_STATUS_REQUEST_COMPLETE in HTTP_HttpEndRequestW.
|
2011-03-17 10:43:40 +01:00 |
Jacek Caban
|
2bb3f4fa75
|
wininet: Decompress gzip data in refill_buffer to ensure that we have the data to report.
|
2011-03-17 10:43:31 +01:00 |
Jacek Caban
|
ec96604881
|
wininet: Release gzip_buffer when opening new connection.
|
2011-03-15 17:14:07 +01:00 |
Francois Gouget
|
4bacb3f24e
|
wininet: Avoid a conflict with the sun macro when compiling on Solaris.
|
2011-03-14 12:15:35 +01:00 |
Juan Lang
|
011b26b1c6
|
wininet: Store headers in url cache entries.
|
2011-03-09 12:26:22 +01:00 |
Juan Lang
|
b9673bcc4d
|
wininet: Fully initialize time variable (valgrind).
|
2011-03-08 12:53:12 +01:00 |
Juan Lang
|
b2ed9c5967
|
wininet: Fix a comment.
|
2011-03-07 15:01:10 +01:00 |
Juan Lang
|
7685dad81d
|
wininet: Remove a no-op trinary expression.
|
2011-03-07 15:01:03 +01:00 |
Juan Lang
|
28e9229336
|
wininet: Store entries in url cache with valid last-modified date.
|
2011-03-07 15:00:59 +01:00 |
Juan Lang
|
666353d1a6
|
wininet: Move creating cache file to a helper function.
|
2011-03-04 16:25:58 +01:00 |
Juan Lang
|
488c2d0c36
|
wininet: Support the Cache-Control max-age directive for setting url cache entry expiration.
|
2011-03-04 16:25:58 +01:00 |
Juan Lang
|
2d323430cb
|
wininet: Default to 10 minutes expiration for cache entries.
|
2011-03-04 16:25:58 +01:00 |
Juan Lang
|
ab16c75c48
|
wininet: Default to 10 minutes expiration for cache entries.
|
2011-03-04 16:25:58 +01:00 |
Juan Lang
|
0b5ea6f970
|
wininet: Store entries in url cache with valid expiration date.
|
2011-03-04 16:25:58 +01:00 |
Juan Lang
|
b9c348a0b3
|
wininet: Use correct scheme for cache entries.
|
2011-03-03 17:47:14 +01:00 |
Juan Lang
|
2098006d68
|
wininet: De-Hungarian HTTP request member names.
|
2011-03-02 12:29:19 +01:00 |
Juan Lang
|
8e05039102
|
wininet: De-Hungarian session member names.
|
2011-03-02 12:29:16 +01:00 |
Juan Lang
|
7243156bc1
|
wininet: De-Hungarian appinfo member names.
|
2011-03-02 12:29:13 +01:00 |
Juan Lang
|
2c6ad546cd
|
wininet: De-Hungarian auth cache member names.
|
2011-03-02 12:29:10 +01:00 |
Juan Lang
|
b49b2430ee
|
wininet: Rename variables for readability.
|
2011-03-02 12:29:07 +01:00 |
Jacek Caban
|
923498da03
|
wininet: Moved freeing object to WININET_Release.
|
2011-02-04 15:25:32 +01:00 |
Jacek Caban
|
a073c66f0d
|
wininet: Moved creation of an object and allocating handles to common function.
Fixes a few leaks.
|
2011-02-03 13:15:18 +01:00 |
Jacek Caban
|
f165e25e59
|
wininet: Handles handling clean up.
|
2011-02-03 13:15:18 +01:00 |
Jacek Caban
|
e86353fd30
|
wininet: Make sure to initialize the whole z_stream struct (valgrind).
|
2011-01-12 18:12:42 +01:00 |
Austin English
|
1c7d349f26
|
wininet: Add a stub for InternetShowSecurityInfoByURL.
|
2010-11-25 16:57:13 +01:00 |
Juan Lang
|
80545ef966
|
wininet: Secure flag is set in the request, not in the session.
|
2010-10-01 17:48:05 +02:00 |
Juan Lang
|
948173b7f4
|
wininet: Set cipher strength bits when querying INTERNET_OPTION_SECURITY_FLAGS.
|
2010-10-01 15:21:18 +02:00 |
Juan Lang
|
887aeb6a09
|
wininet: Support querying the cipher strength of an SSL connection.
|
2010-10-01 15:20:49 +02:00 |
Juan Lang
|
56ebc04ab6
|
wininet: Returned certificate strings are always ASCII.
|
2010-10-01 15:20:41 +02:00 |
Juan Lang
|
0e4e2a378a
|
wininet: More completely implement querying INTERNET_OPTION_SECURITY_FLAGS.
|
2010-09-30 11:14:39 +02:00 |
Juan Lang
|
77c4ade08b
|
wininet: Store security flags in WININET_NETCONNECTION.
|
2010-09-30 11:13:48 +02:00 |
Hans Leidekker
|
94deb85d12
|
wininet: Handle HTTP_STATUS_REDIRECT_METHOD.
|
2010-08-27 12:08:41 +02:00 |
Piotr Caban
|
75481bde85
|
wininet: Commit URL cache entry when cache file is closed.
|
2010-07-26 09:58:21 +02:00 |
Piotr Caban
|
21ced8ddc8
|
wininet: Allow HTTPREQ_ReadFileEx read more then one data chunk.
|
2010-07-20 14:40:32 +02:00 |
Piotr Caban
|
0736ca71e7
|
wininet: Don't report error in read_gzip_data when to much data was cached.
|
2010-07-20 14:40:32 +02:00 |
Piotr Caban
|
c398e6fc77
|
wininet: Cache non basic authorization data.
|
2010-07-19 14:38:16 +02:00 |
Piotr Caban
|
98fb747aa9
|
wininet: Delete authorization data on unsucessful login.
|
2010-07-19 14:38:15 +02:00 |
Piotr Caban
|
3cfc7132be
|
wininet: Fix reporting errors in callbacks.
|
2010-07-19 14:38:15 +02:00 |
Piotr Caban
|
898531de80
|
wininet: Remove get_avail_data check from HTTPREQ_ReadFileExA.
|
2010-07-01 13:44:02 +02:00 |
Piotr Caban
|
ee68473fe5
|
wininet: Reconnect if persistent connection was closed by server.
|
2010-06-29 15:20:56 +02:00 |
Hans Leidekker
|
80dd367846
|
wininet: Pass the object header pointer to INET_QueryOption.
|
2010-05-25 13:30:18 +02:00 |
Piotr Caban
|
224af0d0e7
|
wininet: Fix variables values after redirection in HTTP_HttpSendRequestW.
Moved dwContentLength reset after HTTP_DrainContent (this function
disconnects when dwContentLength is set to ~0u).
|
2010-05-20 16:48:37 +02:00 |
Michael Stefaniuc
|
2c07791c5b
|
wininet: Remove redundant "not NULL/0" checks (coccicheck).
|
2010-05-20 13:47:52 +02:00 |
Piotr Caban
|
8dde5c5168
|
wininet: Combine certificate errors in HTTP_OpenConnection.
|
2010-05-19 15:01:00 +02:00 |
Piotr Caban
|
4ba60d265a
|
wininet: Fix callbacks sent on connection error.
|
2010-05-19 15:00:43 +02:00 |
Juan Lang
|
de6a0a86be
|
wininet: Handle proxy entries of the form <proto>=<proxy>, and allow multiple proxies.
|
2010-03-15 15:54:10 +01:00 |
Hans Leidekker
|
911d0df691
|
wininet: Fix a memory leak.
Found by Valgrind.
|
2010-02-23 13:31:07 +01:00 |
Hans Leidekker
|
2ed570ecc6
|
wininet: Fix handling of a response without headers.
|
2010-02-22 13:16:02 +01:00 |
Hans Leidekker
|
e5180c101b
|
wininet: Fix a memory leak.
Found by Valgrind.
|
2010-01-05 16:28:48 +01:00 |
Jacek Caban
|
b73e31c659
|
wininet: Return error directly from HTTP_Connect.
|
2009-12-21 15:36:53 +01:00 |
Jacek Caban
|
e1958a67d6
|
wininet: Don't use INTERNET_SetLastError in HttpSendRequestA.
|
2009-12-21 15:36:53 +01:00 |
Hans Leidekker
|
68453a5251
|
wininet: Always set last error in HttpSendRequest{,Ex}.
|
2009-12-21 15:01:25 +01:00 |
Jacek Caban
|
78b2cedaa6
|
wininet: Make sure to not read over chunk end in read_gzip_data.
|
2009-12-17 12:53:23 +01:00 |
Jacek Caban
|
9823c23927
|
wininet: Directly return error status from HTTP_HttpQueryInfoW.
|
2009-12-14 12:07:52 +01:00 |
Jacek Caban
|
2d1c4e6928
|
wininet: Correctly handle dwContentRead for gzip encoded requests.
|
2009-12-09 13:13:53 +01:00 |
Juan Lang
|
66b4ad208d
|
wininet: Fix an apparent typo.
|
2009-12-09 12:02:30 +01:00 |
Juan Lang
|
3cd54553f3
|
wininet: Trace more parameters to HTTP_GetCustomHeaderIndex.
|
2009-12-09 12:02:26 +01:00 |
Hans Leidekker
|
4a22c88b37
|
wininet: Cleanup any existing cache file before creating a new one.
Otherwise we leak the file name and handle when a request is sent again.
Found by Valgrind.
|
2009-12-07 14:18:29 +01:00 |
Juan Lang
|
b967fde0a8
|
wininet: Correct length of data passed to callback when resolving a name.
|
2009-12-04 14:34:57 +01:00 |
Jacek Caban
|
a9ecdc6024
|
wininet: Directly return error status from HTTP_HandleRedirect.
|
2009-12-03 15:27:22 +01:00 |
Jacek Caban
|
741b6611fb
|
wininet: Directly return error status fro HTTP_HttpEndRequest.
|
2009-12-03 15:27:14 +01:00 |
Jacek Caban
|
c952e81a89
|
wininet: Directly return error from HTTP_HttpSendRequest.
|
2009-12-03 15:27:08 +01:00 |
Jacek Caban
|
34fcbb5f75
|
wininet: Make HTTP_HttpSendRequestW static and avoid its forward declaration.
|
2009-12-01 12:59:36 +01:00 |
Jacek Caban
|
e974965185
|
wininet: Directly return error status from HTTP_HttpAddRequestHeadersW.
|
2009-12-01 12:59:23 +01:00 |
Jacek Caban
|
85a057e186
|
wininet: Directly return error status from HTTP_HttpOpenRequestW.
|
2009-12-01 12:59:16 +01:00 |
Jacek Caban
|
47c71fcd0a
|
wininet: Make HTTP_HttpOpenRequestW static and avoid forward its declaration.
|
2009-12-01 12:59:07 +01:00 |
Jacek Caban
|
b01d58428b
|
wininet: Directly return error status from NETCON_init.
|
2009-12-01 12:58:58 +01:00 |
Jacek Caban
|
1d96e20e8a
|
wininet: Directly return error status from refill_buffer.
|
2009-12-01 12:58:52 +01:00 |
Jacek Caban
|
358e7b7c8a
|
wininet: Directly return error status from NETCON_recv.
|
2009-12-01 12:58:34 +01:00 |
Jacek Caban
|
4e3eabd6fa
|
wininet: Don't use INTERNET_SetLastError in HttpSendRequestW.
|
2009-11-30 12:48:52 +01:00 |
Jacek Caban
|
36cb1ef3d3
|
wininet: Directly return error status from HTTP_OpenConnection.
|
2009-11-30 12:48:40 +01:00 |
Jacek Caban
|
1ee3ad476e
|
wininet: Directly return error status from WriteFile implementations.
|
2009-11-30 12:48:33 +01:00 |
Jacek Caban
|
b77868cbfd
|
wininet: Dorectly return error status from NETCON_secure_connect and NETCON_send.
|
2009-11-30 12:48:27 +01:00 |
Jacek Caban
|
bf1da4c857
|
wininet: Directly return error status from NETCON_connect.
|
2009-11-30 12:48:20 +01:00 |
Jacek Caban
|
cff77d602c
|
wininet: Directly return error status from NETCON_create.
|
2009-11-30 12:48:09 +01:00 |
Hans Leidekker
|
4990ca0ea3
|
wininet: Avoid a crash on NULL lpcszHeader in HttpSendRequestExW.
|
2009-11-17 16:05:36 +01:00 |
Hans Leidekker
|
e62fdaf0f1
|
wininet: Avoid accessing uninitialized memory in HttpSendRequestExW.
Found by valgrind.
|
2009-10-27 10:53:08 +01:00 |
Aric Stewart
|
fc5089349d
|
wininet: Cache basic authentication values based on realm and host.
|
2009-10-13 14:19:47 +02:00 |
Erik Inge Bolsø
|
5af1a49738
|
wininet: Add test for response without headers, avoid crash.
|
2009-09-30 14:31:57 +02:00 |
Hans Leidekker
|
50fef74131
|
wininet: Destroy authorization info on failure in HTTP_DoAuthorization.
This makes sure the app can retry authorization, e.g. when username and
password are not supplied upfront and there are no cached credentials.
|
2009-09-02 14:41:40 +02:00 |
Jacek Caban
|
4dfec39b6f
|
wininet: Don't free gzip_stream in HTTPREQ_CloseConnection.
|
2009-08-24 15:17:12 +02:00 |
Juan Lang
|
6ae6ea99b4
|
wininet: Partially implement InternetQueryOption for INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO.
|
2009-08-11 12:32:24 +02:00 |
Jacek Caban
|
3858e35432
|
wininet: Explicity delete Content-Length header for gzip encoded connection.
|
2009-08-03 14:59:35 +02:00 |
Hans Leidekker
|
fa4c25ddf4
|
wininet: Correct handling of redirected HEAD requests.
|
2009-07-22 14:42:49 +02:00 |
Jacek Caban
|
97936252dd
|
wininet: Code clean up by using heap_strdup* functions.
|
2009-07-17 11:21:59 +02:00 |
Jacek Caban
|
f598709212
|
wininet: Rename WININET_strdupW to standard heap_strdupW.
|
2009-07-17 11:16:42 +02:00 |
Jacek Caban
|
6d1601a850
|
wininet: Rename WININETAPPINFOW to appinfo_t.
|
2009-07-13 10:26:52 +02:00 |
Jacek Caban
|
34abacde71
|
wininet: Rename WININETHTTPREQW to http_request_t.
|
2009-07-13 10:26:39 +02:00 |
Jacek Caban
|
e9f4a40584
|
wininet: Rename WININETHTTPSESSIONW to http_session_t.
|
2009-07-13 10:26:32 +02:00 |
Juan Lang
|
481c9b895d
|
wininet: Support IPv6 addresses in HTTP_ResolveName and HTTP_OpenConnection.
|
2009-07-10 12:25:25 +02:00 |
Juan Lang
|
058e918da5
|
wininet: Convert WININETSESSIONW's socketAddress to a struct sockaddr_storage.
|
2009-07-10 12:25:17 +02:00 |
Juan Lang
|
c572e1c99a
|
wininet: Use address length returned by GetAddress in NETCON_connect.
|
2009-07-10 12:25:10 +02:00 |
Juan Lang
|
44bf025767
|
wininet: Change type of GetAddress from struct sockaddr_in * to struct sockaddr *.
|
2009-07-10 12:24:35 +02:00 |
Jacek Caban
|
44d633a902
|
wininet: Rename WININETHANDLEHEADER to object_header_t.
wininet struct names are very unreadable and I hope that patches
renaming them will be accepted.
|
2009-07-08 20:13:00 +02:00 |
Eric van Beurden
|
42c7dc94e2
|
wininet: Add a terminating empty line to the headers if necessary.
|
2009-06-25 14:34:13 +02:00 |
Aric Stewart
|
c6ae945bf7
|
wininet: Semi-stub for quering Http INTERNET_OPTION_SECURITY_FLAGS.
|
2009-06-23 15:53:01 +02:00 |
Aric Stewart
|
b9f2f9d226
|
wininet: Improve HTTP status 100 handling.
|
2009-06-23 15:53:01 +02:00 |
Hans Leidekker
|
aa05f97fc9
|
wininet: Don't delete the cache file when closing a request.
|
2009-06-23 11:48:17 +02:00 |
Hans Leidekker
|
c29328583d
|
wininet: Implement InternetQueryOption(INTERNET_OPTION_CACHE_TIMESTAMPS).
|
2009-06-16 15:41:08 +02:00 |
Mike Kaplinskiy
|
6c767c4e2c
|
wininet: Make \r and \n valid header separators.
|
2009-06-16 13:49:52 +02:00 |
Hans Leidekker
|
70454967f9
|
wininet: Always create a URL cache entry.
|
2009-06-16 13:37:29 +02:00 |
Jacek Caban
|
a76db21978
|
wininet: Fixed gzip decoding on chunked stream.
|
2009-06-08 15:27:21 +02:00 |
Alexandre Julliard
|
4b2a15de9f
|
wininet: Always use a full URL for redirects, even with an absolute path.
|
2009-06-05 20:37:57 +02:00 |
Eric van Beurden
|
59a217847c
|
wininet: Rearrange invalid header checks.
|
2009-06-05 14:43:24 +02:00 |
Eric van Beurden
|
5caf809426
|
wininet: Check for bad allocation in HeapReAlloc.
|
2009-06-05 14:43:24 +02:00 |
Jacek Caban
|
11ca05f6ae
|
wininet: Added support for decompressing gzip encoded content.
|
2009-06-01 16:16:01 +02:00 |
Jacek Caban
|
26bbf072aa
|
wininet: Change read_buf type to BYTE.
|
2009-06-01 16:16:01 +02:00 |
Jacek Caban
|
d1d1da35ca
|
wininet: Always set path in HttpOpenRequest.
|
2009-06-01 16:16:01 +02:00 |
Jacek Caban
|
83170893ae
|
wininet: Move strings to avoid duplications.
|
2009-06-01 16:16:01 +02:00 |
Alexandre Julliard
|
5c227a9d8a
|
wininet: Add a critical section to protect the read-ahead buffer.
|
2009-05-28 23:01:28 +02:00 |
Marcus Meissner
|
1d362c90a4
|
wininet: lpwhr cannot be NULL (Coverity 927).
|
2009-05-20 13:34:12 +02:00 |
Alexandre Julliard
|
3d02c42b39
|
wininet: Add a read-ahead buffer to allow InternetQueryDataAvailable to return the right values in chunked mode.
|
2009-05-14 16:45:38 +02:00 |
Alexandre Julliard
|
e531ccd6b0
|
wininet: Centralize detection of chunked mode and add a flag for it in the http request structure.
|
2009-05-14 16:42:44 +02:00 |
Hans Leidekker
|
6bb143af33
|
wininet: Don't send any data after being redirected.
|
2009-05-06 16:10:01 +02:00 |
Alexandre Julliard
|
9ee1b06056
|
wininet: Pass the complete redirected URL in INTERNET_STATUS_REDIRECT callbacks.
|
2009-05-04 20:49:15 +02:00 |
Hans Leidekker
|
3fc27f67f3
|
wininet: Replace any existing content length header in HttpSendRequest.
|
2009-04-30 12:47:40 +02:00 |
Paul TBBle Hampson
|
4d57ee3409
|
wininet: HTTP_HttpAddRequestHeadersW should ignore 0-length headers.
|
2009-04-27 13:24:42 +02:00 |
Hans Leidekker
|
8ab00329dd
|
wininet: Replace any existing cookie header.
|
2009-04-24 15:51:47 +02:00 |
Hans Leidekker
|
8077480b0e
|
wininet: Support asynchronous HttpEndRequest.
|
2009-04-08 16:10:19 +02:00 |
Hans Leidekker
|
3a711fb56b
|
wininet: Don't start reading when POST data hasn't been completely written.
|
2009-04-08 16:10:11 +02:00 |
Hans Leidekker
|
85eb438ff7
|
wininet: Send notifications from InternetWriteFile.
|
2009-04-08 16:10:05 +02:00 |
Hans Leidekker
|
0fabf540e7
|
wininet: Keep track of the number of bytes written.
|
2009-04-08 16:10:00 +02:00 |