Commit Graph

190 Commits

Author SHA1 Message Date
Arseny Smirnov
d34831c613 tdutils: update from other project
GitOrigin-RevId: 4a0a7ed6fff6af9b498122c66de9576939dce523
2018-12-19 17:48:39 +03:00
levlam
9f0f6dc56e Fix IPAddress::get_any_addr.
GitOrigin-RevId: cd2c6ca22d6ecc1cbb834b15e9aa191302885e52
2018-12-17 22:09:01 +03:00
levlam
064619044b Fix IOCP error statuses.
GitOrigin-RevId: 8f5c5481c7d70b7d7795503bc69deff32fb5935c
2018-12-17 19:12:47 +03:00
levlam
3791b38296 Better compile-time dispatching on function type.
GitOrigin-RevId: 2687fa402c9c76ad654bdad0759893dc6df6262e
2018-12-12 05:26:52 +03:00
levlam
2b4d076323 Modernize spelling of macOs.
GitOrigin-RevId: 92129b6264af6a04d69d0eb79f942ca20923bb78
2018-12-01 04:15:59 +03:00
levlam
8e9c2721ef Support different IPv4 formats in IPAddress::init_host_port.
GitOrigin-RevId: 122239f0ba24a1274b0cc50913e8fac3ad25ddc3
2018-11-27 21:26:32 +03:00
levlam
7d565e359d Improve clean_filename behavior.
GitOrigin-RevId: da29b1a87a27b6bcb7651ae1b261d44dcf18849f
2018-11-27 04:24:43 +03:00
levlam
ca4c1acc90 Add IPAddress::is_reserved method and its test.
GitOrigin-RevId: 69a4d5cc73cb40e7a99a1d4e56746efbcfa02e83
2018-11-15 20:10:20 +03:00
levlam
0d5a09e615 Fix ThreadPthread.
GitOrigin-RevId: 3b16056894c33775dcf31146a87f1ab1c2ee13cc
2018-11-03 22:36:52 +03:00
levlam
d119861780 Add missed include.
GitOrigin-RevId: 206f244bcd8d7759b942de8288284bcbd48b22f0
2018-11-02 22:57:22 +03:00
levlam
0624f75eec Add FreeBSD support.
GitOrigin-RevId: 8cc4a42d4c7879ba1b19591f7b37880d5d554585
2018-11-02 22:47:20 +03:00
levlam
37738ec61a Fix FreeBSD CE.
GitOrigin-RevId: c5740fb668058b65c2e4dd2bc3d1c14d9bbea06f
2018-11-02 18:58:20 +03:00
levlam
a91db513eb Better create_local_lock.
GitOrigin-RevId: ce705e7258ad05bde1ac6c72cc8a045c128fa8a6
2018-10-30 14:21:36 +03:00
Arseny Smirnov
9ce80962fc FileFd: bugfix
GitOrigin-RevId: a6f27c73787e543475d5e09f1510de491a46e3f5
2018-10-30 11:47:58 +03:00
Arseny Smirnov
0aa06cbea5 FileFd: create_local_lock function
GitOrigin-RevId: 8d782e0194f4e2e7b0d9ceef9dad4a1051ed393b
2018-10-30 11:35:50 +03:00
Arseny Smirnov
4e03ee1293 FileFd: fix sleeping while mutex is locked
GitOrigin-RevId: fb6b5bb1967a4c144e9393b2ab82ccf6dfe2f15a
2018-10-30 11:21:16 +03:00
levlam
51eec319b8 Fix some includes.
GitOrigin-RevId: 4c81e2fd0101f3c5bb23912681e7d02a60da5622
2018-10-28 20:30:47 +03:00
levlam
26530c3b97 Fix legacy fd_ usage.
GitOrigin-RevId: 62e6f4882f16595e591a24b88280080135d62eef
2018-10-27 17:34:53 +03:00
levlam
28bfa4c4a6 Fix some MSVC Analyzer warnings.
GitOrigin-RevId: f62e8173ae9a5b78818f6575548ce22d4aa5c51d
2018-10-26 17:11:20 +03:00
levlam
8aab98871e Fix is_eof in case of unsuccessful read.
GitOrigin-RevId: b5a48f7818a02f6d0cf16b11a0745cf7fdeff326
2018-10-24 21:57:47 +03:00
levlam
ae585729aa Ignore EAGAIN in mkdir (happens in Android).
GitOrigin-RevId: 1d5ab4e698de8b74d61d06e84d4ac27d84020e91
2018-10-22 18:08:51 +03:00
levlam
872cf6e10d Add local locking to FileFd::lock.
GitOrigin-RevId: 4ad3e15f9952b1c68c879182a0f10dd5cad270f3
2018-10-08 21:18:06 +03:00
levlam
806e570a72 Add source to next_utf8_unsafe.
GitOrigin-RevId: e8e5a47096461c0e76a64eb26cb848651d4d61e8
2018-10-08 15:53:05 +03:00
levlam
09c4422c50 Better error messages.
GitOrigin-RevId: 70b1cea8a4ba9fa42074b5bc7bd7d339ae1c1779
2018-10-07 02:47:50 +03:00
levlam
b3bae546ec Various fixes.
GitOrigin-RevId: 52699dbd5280b63c6bb32da44ea5bfa3157a7922
2018-09-27 16:37:15 +03:00
levlam
f948956bf7 Use td::unique_ptr instead of std::unique_ptr whenever possible.
GitOrigin-RevId: 424beb72dc62efdefdbffb75f1036ba9417f84cb
2018-09-27 04:19:03 +03:00
Arseny Smirnov
3d17b1b166 Fix get_pending_error
GitOrigin-RevId: cc80c526df3d0ed8ceb76b8653ef4bb9f46311c4
2018-09-25 14:36:39 +03:00
Arseny Smirnov
8108dda1d9 SocketFd::get_pending_error bugfix
GitOrigin-RevId: e0596cec033a162fbca15a14f078c6a9cdbd8ff5
2018-09-24 18:26:29 +03:00
Arseny Smirnov
23e4c95c1c Fix EventFdLinux
GitOrigin-RevId: 15b9fe88f5df8489c837d75fe3705a01298e902a
2018-09-22 17:13:49 +03:00
levlam
7e2053fcf5 Fix some includes.
GitOrigin-RevId: 3e3323045c44976ceea99b218d6806d3c836bbf2
2018-09-14 01:00:21 +03:00
levlam
02eff935ec Remove legacy declarations.
GitOrigin-RevId: d2dcb086a609b2f11cf9476b7e4b9ca8d63c9fe0
2018-09-13 23:08:13 +03:00
levlam
0a2191e6fd Fix rmrf CE.
GitOrigin-RevId: a19461f482d3aaa5d61dbdbc0796bc6c82bb260f
2018-09-13 21:50:23 +03:00
levlam
56f5f4e263 Simplify reader_wait and fix some includes.
GitOrigin-RevId: 32a91a6aa25934b2eeeddd99470a24871f38d219
2018-09-13 21:22:25 +03:00
levlam
3745cec3cb Pass std::function as callback in walk_path.
GitOrigin-RevId: 80da4073e3b1d7d2b2b136efecac8b26a774157b
2018-09-13 20:41:26 +03:00
Arseny Smirnov
02e83aad78 EventFd: wait
GitOrigin-RevId: 1ae5d1c3d1316a7c5a868c4246b406182915b399
2018-09-13 16:27:09 +03:00
levlam
86ef95e0a8 Fix CE and some includes.
GitOrigin-RevId: e181d67a6ed36c9cbd444cf2282902b6a90881be
2018-09-13 06:08:49 +03:00
levlam
ed33e23c40 Make pread and DataView const.
GitOrigin-RevId: 4267ba93a1e83be55361c9f284f717151eb740cd
2018-09-13 03:12:40 +03:00
Arseny Smirnov
16b2c5969d Fix walk_path. Test works
GitOrigin-RevId: c09c177e1e6a85efce931c0eb1e59d2aab3a4042
2018-09-12 15:24:21 +03:00
Arseny Smirnov
f72bcd230f Update test for walk_path. It is CE now
GitOrigin-RevId: 850f17f25c3f1e8e3b63fc93936455883be35c4f
2018-09-12 15:07:54 +03:00
levlam
f8568f0400 Fix some includes.
GitOrigin-RevId: 253f114339c6b05b08705c188df1cb4c917537d2
2018-09-12 06:26:05 +03:00
levlam
90888e3b98 Remove rest of Fd.cpp.
GitOrigin-RevId: 8f6696a0092eb200a7ed4bb7e4fcd4b36886ac1d
2018-09-12 04:58:49 +03:00
levlam
d2171a77e1 Fix StdStreams initialization in UWP.
GitOrigin-RevId: 3f916079a8ad17eeec7a02c7caeb2e0f143f2341
2018-09-12 04:53:04 +03:00
levlam
1832683ec0 Fix walk_path.
GitOrigin-RevId: 8461f7331f565dd257794f91953e500d7f1986bc
2018-09-12 03:21:23 +03:00
levlam
2f90c47d03 Add explicit walk_path test.
GitOrigin-RevId: ec04003641d149168abe0b8c09af056ce50f48b6
2018-09-11 22:17:01 +03:00
levlam
fd96a6722d Add get_ipv4 test.
GitOrigin-RevId: fe8d79634d3d4e5114cc8b03b0a38d988923c2ba
2018-09-11 21:49:39 +03:00
levlam
30ceb55fb4 Fix checking of return values.
GitOrigin-RevId: 81accbd062db24d031a3054ba5cc86ace38774ad
2018-09-11 20:31:53 +03:00
levlam
496d7b3e52 Fix CE.
GitOrigin-RevId: 34d4d5f28e8acebb39c4be9d3b7ecf631c017d3c
2018-09-11 19:57:50 +03:00
levlam
eff963a7c1 Better logging of NativeFd.
GitOrigin-RevId: 4d094f01a74c46acb5d4a0c8da4e67614bec1b6e
2018-09-11 19:44:37 +03:00
levlam
cc077a3971 Fix IPAddress::get_ipv4 usages.
GitOrigin-RevId: 6d87c9347aaa40957b1e524f889cf9fe8b179bb1
2018-09-11 19:40:53 +03:00
levlam
a80bd978e8 Fix closing of SocketFd by other side.
GitOrigin-RevId: adc39e4f4cd1d8938cf73e4ff5a4c532bcd3d9e9
2018-09-11 19:31:15 +03:00
Arseny Smirnov
c4b18325b9 Thread: detach
GitOrigin-RevId: 92efe8bfc3052cc9b0b75895c6a6510be8eb8fcd
2018-09-11 17:55:00 +03:00
Arseny Smirnov
5cdc7c2c53 BufferedStdin: simplify
GitOrigin-RevId: 8674573bea8246cf2e5c21bbdaae98712d8c7cc4
2018-09-11 17:48:29 +03:00
levlam
4df6f95818 Move Iocp to separate files.
GitOrigin-RevId: 8b60ea4ab775d264b70987316aac8141719d3a6b
2018-09-11 17:43:43 +03:00
levlam
94f2fca814 Unify FileFd::read implementation.
GitOrigin-RevId: bfe86b448459ba7ef875256d99796122bb486e4d
2018-09-11 17:13:53 +03:00
levlam
10118d0449 Simplify NativeFd.
GitOrigin-RevId: 07a33f1ad18b426ef339da76467c667607c1a3b9
2018-09-11 16:27:20 +03:00
levlam
db228c09c4 Remove some usages of io_handle.
GitOrigin-RevId: 5e09106583dd25590606fb68ae00a3f99dfe6a6b
2018-09-11 15:49:59 +03:00
Arseny Smirnov
11ccf8f4c8 bugfix
GitOrigin-RevId: e30c5724d5a1b24378bdc250fc40940a45b450b8
2018-09-11 15:04:17 +03:00
levlam
a165b42575 Minor fixes.
GitOrigin-RevId: 793bc74ee1c82b5a86e044be65e4be0e5ce00336
2018-09-10 21:45:34 +03:00
levlam
f4c85df878 Use WSARecv/WSASend instead of ReadFile/WriteFile. Fix check_status.
GitOrigin-RevId: bbfdf27d508f5c985b14bc13bd8549201ae1cb15
2018-09-10 20:49:54 +03:00
Arseny Smirnov
3e991d2464 Bugfix
GitOrigin-RevId: bc0e81dec7fed8ef1fa47a8c529bc2a3aee01b48
2018-09-10 20:22:21 +03:00
Arseny Smirnov
3266984243 BufferedStdin: windows
GitOrigin-RevId: ff7393ea2d648de84f691043aa7780260af77f6d
2018-09-10 19:21:34 +03:00
Arseny Smirnov
982369c495 BufferdStdin: support posix
GitOrigin-RevId: eac3b2429f6680fb6246fecefc8bed7b4c48bd14
2018-09-10 18:09:08 +03:00
levlam
c6afabd633 Reimplement NativeFd::duplicate.
GitOrigin-RevId: 7f2dcff066d8f944514cb0bbc48991bbe3706820
2018-09-10 17:47:28 +03:00
levlam
0f4343d542 Add real NativeFd::set_is_blocking.
GitOrigin-RevId: a44de74e99cbe6161589e0d039f8fcb8b6e339c1
2018-09-10 17:05:12 +03:00
levlam
27b848f5c0 Remove unneeded code from Fd.cpp/Fd.h.
GitOrigin-RevId: a387ef08fbd75c0557f6882bef95a572605979c5
2018-09-10 16:52:27 +03:00
levlam
00b4fe3bc3 Mark PollableFdInfo default members as deleted.
GitOrigin-RevId: c16b8d57ac94f67018209af78518db0b95697932
2018-09-10 15:42:46 +03:00
levlam
fc0cbae579 Fix some includes.
GitOrigin-RevId: 9b36a638202fb8b34e13494efd6b4a48ff7f4845
2018-09-10 04:08:15 +03:00
levlam
a2846362a0 Remove copy-paste in socket initialization.
GitOrigin-RevId: f4de36f6ec62378adc2cc0a7b7ad7afdd6b0573f
2018-09-10 02:51:58 +03:00
levlam
943fc13900 Move PollFlags to separate header.
GitOrigin-RevId: 5c97229d6c29fb281c6c1100530b14bcc1aaa827
2018-09-10 02:37:05 +03:00
levlam
5260fa4ef9 Move skip_eintr to detail.
GitOrigin-RevId: f9898af5691b7fda7e0036de4ede6f17e281c657
2018-09-10 02:16:42 +03:00
levlam
cfea83b4c5 Move set_is_blocking method to NativeFd.
GitOrigin-RevId: 09040e5993647fb6626917bd3b07421e9a717af3
2018-09-10 02:08:12 +03:00
levlam
fd90bf435e A lot of fixes.
GitOrigin-RevId: c7c16991da51e09a685537a444385852e8e93af4
2018-09-07 03:41:21 +03:00
Arseny Smirnov
cfcc08ebb7 Bugfix
GitOrigin-RevId: 1c0efe4d8f3da9cfe328fc0f78c323d08d60fbb6
2018-08-17 18:48:32 +03:00
Arseny Smirnov
bf15a5ac12 tg_cli works under posix
GitOrigin-RevId: 632e05de183a55b045f74e09ca8d41060f55ad41
2018-08-17 16:41:51 +03:00
Arseny Smirnov
093651fb22 Update tdutils from other project
GitOrigin-RevId: 83ec94032ccecef812b01963ac0506655a57e2af
2018-08-13 20:15:09 +03:00
Sasha Koss
79d4eade83 Add missing <limits.h> so PATH_MAX would be available
It fixes an error that happens during building on Alpine Linux:

```
In file included from /tmp/td/tdutils/td/utils/port/path.cpp:7:0:
/tmp/td/tdutils/td/utils/port/path.h: In function 'td::Status td::walk_path(td::CSlice, Func&&)':
/tmp/td/tdutils/td/utils/port/path.h:167:21: error: 'PATH_MAX' was not declared in this scope
   curr_path.reserve(PATH_MAX + 10);
                     ^~~~~~~~
```
2018-09-04 21:52:20 +03:00
levlam
a547f42886 Add support for transparent HTTP proxies.
GitOrigin-RevId: 5ae836625a60d1f84b0ca8df2c41bf07e8ba59fd
2018-07-26 16:49:18 +03:00
levlam
f9726a5e19 Remove global restriction on thread count.
GitOrigin-RevId: 48a3a6dce014fa640a5bb750eacc27304cb550d1
2018-07-17 02:46:44 +03:00
levlam
e2a90b9edf Fix some string to Slice conversions.
GitOrigin-RevId: 79ddee1a90c633cc1b1df5c8e3d9917027bad0f3
2018-07-08 02:47:46 +03:00
levlam
08db51cdce In-memory thread-safe cache for language pack strings.
GitOrigin-RevId: 71dc10a925f1000590501c4ddfc307806e242e51
2018-07-05 21:28:11 +03:00
levlam
deecdb66bc Fix some td/actor/ includes.
GitOrigin-RevId: f9cf960b96018c4eb6169d2ec6cb5d3fbc16c0ec
2018-07-03 22:29:04 +03:00
levlam
9b0a138dd1 Add prefer_ipv6 parameter tp GetHostByNameActor.
GitOrigin-RevId: 727fc30d94657399f1e49efc208b6951a7677d2f
2018-07-01 04:12:20 +03:00
levlam
07f731df95 Better init_host_port.
GitOrigin-RevId: 04f6f90435cc7d33e18ab594658787044ec6c4f4
2018-07-01 02:10:17 +03:00
levlam
cfd1761a00 Use static IPs only for IPv4 Socks5 proxies.
GitOrigin-RevId: 797d7acdd16323bb61e15b67c13ada216abe31f1
2018-06-29 20:36:27 +03:00
levlam
002f4e31b0 Fix warning.
GitOrigin-RevId: c54303ab305fec0f7b30a5d231688add912b97d0
2018-06-28 16:50:43 +03:00
levlam
6810845770 Allow EPERM in realpath just in case.
GitOrigin-RevId: a575e0e04739e793afb9f370b05afbb9f1941c17
2018-06-27 19:24:09 +03:00
levlam
cb1e0374af Minor fixes.
GitOrigin-RevId: 7deac5583350d64cf6fd0e323f2291804e3ba995
2018-06-05 20:44:41 +03:00
levlam
2216998d74 Better error messages.
GitOrigin-RevId: d3c4e84c609f90d52ed9564c7a5301706562147f
2018-05-19 18:03:53 +03:00
levlam
0764948a87 Punicode support for non-Windows.
GitOrigin-RevId: 6ef7dd1bb163bdf369a7ed10a50d598b50e2def6
2018-05-18 23:38:11 +03:00
levlam
2a3d1494aa Better is_ascii_host_char.
GitOrigin-RevId: 25c42be7223691ae9623061ed495b99940b1d79a
2018-05-18 21:12:39 +03:00
levlam
2691c7fabf Remove usage of codecvt: now conversions are safe and 2-1000x faster.
GitOrigin-RevId: a947a25cf9991dc39dc87b8766409e9b1e987009
2018-05-18 18:55:40 +03:00
levlam
18818fd4ff Use CSlice in to_wstring.
GitOrigin-RevId: 53f77206fbc34cd68036f994a7ee90fda2b1b636
2018-05-18 17:22:18 +03:00
levlam
7e0e2d2b6a Fix resolving of Internationalized Domain Names (on Windows only).
GitOrigin-RevId: 10b81d8b00a4cb6bb6c06e4b66831461ef0cc286
2018-05-18 16:13:35 +03:00
levlam
5e4956f91b Fix usage of gai_strerror.
GitOrigin-RevId: 2b17da3b3cbba8e4af91d9db54ee8adb01de6aed
2018-05-17 21:21:19 +03:00
levlam
6c5fb4e6f6 Fix IPAddress::init_host_port on Windows.
GitOrigin-RevId: 3ecc70e2af540a1a00a4f5cc6689920e557d5260
2018-05-15 20:07:03 +03:00
levlam
e8494ea376 Fix .NET std::string <-> System.String conversion.
GitOrigin-RevId: 1c58f49c3924406464604ec752cf5873c9e96d73
2018-05-11 19:53:27 +03:00
levlam
36562f351c Better error message.
GitOrigin-RevId: 90f177a01b941a8fe029fb6363858260a0ca1f3b
2018-05-10 21:39:01 +03:00
levlam
9579edbd04 Fix compilation for Termux.
GitOrigin-RevId: d6ef97baaf2f48846189f89bc5c0c8ec824a2990
2018-05-10 10:49:47 +03:00
levlam
c5fecc1359 Fix logging in IPAddress::init_sockaddr.
GitOrigin-RevId: 7b41388afda9d508ef23f98cee1fa0499b8b4bf9
2018-04-30 16:30:50 +03:00
levlam
f758d592dd Better iterators increment.
GitOrigin-RevId: 5da2e57210ce62f78ab938005a4683d2c1e26547
2018-04-23 01:14:49 +03:00