Commit Graph

615 Commits

Author SHA1 Message Date
levlam
4ae7bc23dc Add two ways for OS version detection on Darwin.
GitOrigin-RevId: cddea795e5d289b1fe15d88fc99db51e42c7138e
2020-06-20 02:39:33 +03:00
levlam
79808f6dd2 Add /etc/os-release support on Linux.
GitOrigin-RevId: 066c8dc879719539aff88cec1b7424824267bdbc
2020-06-20 01:16:29 +03:00
levlam
47229e1dab Add expected_non_option_count to OptionParser.
GitOrigin-RevId: 41bf15d9bddf1673c0c421ef9e5108a5678f9842
2020-06-19 06:00:01 +03:00
levlam
251318d2da Add OptionParser::add_check.
GitOrigin-RevId: dbf50403ba264ddf04b50197f0b54500c8f761ce
2020-06-19 05:50:18 +03:00
levlam
5aa609535e Simplify support for unchecked options in OptionParser.
GitOrigin-RevId: 5a913944b5a6cfecdfb96287e2c670be8ca18547
2020-06-19 04:44:38 +03:00
levlam
0877d7f716 Automatically detect operating system version.
GitOrigin-RevId: d693799fdbfe4919da5a70c141709f2db93063d7
2020-06-19 03:45:24 +03:00
levlam
2172c71191 Add uname.
GitOrigin-RevId: d63397a217f67714d621425e7c6d3ea1e1fa3c60
2020-06-19 03:08:42 +03:00
Arseny Smirnov
7e96f93605 remove usage of AES_ige_encrypt
GitOrigin-RevId: cceb1d42c69724e99da4a419e5cf2c06ad94a373
2020-06-18 12:34:22 +03:00
levlam
0275ecdcbc Fix "Try to" usages.
GitOrigin-RevId: 4ff6d26737f67180a1e9a1289f7f7fb428828b08
2020-06-18 05:02:18 +03:00
levlam
fae344a65d Improve error messages.
GitOrigin-RevId: 99d0bdaec60007ace41631804e36c17b0753ede2
2020-06-18 00:58:54 +03:00
levlam
f45d80fe16 Use AesIgeStateImpl in aes_ige_{en,de}ncrypt.
GitOrigin-RevId: 06a070fb116b8e56221b49adb9cc38ec7678e845
2020-06-18 00:01:37 +03:00
levlam
3464f04e57 Simplify AesCtrState more.
GitOrigin-RevId: 7601dc25f84a96828c333c30cab35eef5836d06c
2020-06-17 22:49:04 +03:00
levlam
cdbe6f5002 Simplify AesCtrState.
GitOrigin-RevId: adebb42480ac23fb48105b5c957847e0c9867612
2020-06-17 22:40:25 +03:00
levlam
225e15f618 Revert "use void* instead of pimpl idiom in AesCtrState and AesIgeState", because of huge struct increase in size and Ige decrypt slowdown.
This reverts commit cc1c175d078b179e7af730b8617165c6ea6193f3.

GitOrigin-RevId: 83814f455af356117a6fccd8b122d72a5d0bce28
2020-06-17 22:24:31 +03:00
Arseny Smirnov
95af3e74bd use void* instead of pimpl idiom in AesCtrState and AesIgeState
GitOrigin-RevId: cc1c175d078b179e7af730b8617165c6ea6193f3
2020-06-17 19:05:43 +03:00
levlam
50ce05a34f Add missing move construxtors.
GitOrigin-RevId: 10a6f44b68e7b0187a5d674c1716cf0277351103
2020-06-17 17:39:54 +03:00
levlam
7754e80572 Remove unneeded include.
GitOrigin-RevId: ed319647243bfd81cd95df3658566b395ce844c2
2020-06-17 06:49:10 +03:00
levlam
6fc62e47dd Fix build without OpenSSL.
GitOrigin-RevId: 81efca50dca3269bec82c9fdc48135f62865290e
2020-06-17 06:37:37 +03:00
levlam
4f8fd1781d Prettify OptionParser usage printing.
GitOrigin-RevId: f0b7c833e91d9eea49483bb93124babc190fa670
2020-06-17 06:09:53 +03:00
levlam
ce137620f5 Improve logging to PLAIN.
GitOrigin-RevId: 5fd64a3599e599a7ae27eecc284f0cd898db8aca
2020-06-17 05:51:36 +03:00
levlam
eea76cdcc0 Improve long-only options output.
GitOrigin-RevId: bd6b4bed622f5c9d751d3bb19cd56834645223b4
2020-06-17 05:35:55 +03:00
levlam
76b5981968 Simplify Evp.
GitOrigin-RevId: cb40344936761c730f1e97f5a76e872ace2a2cee
2020-06-17 04:11:57 +03:00
levlam
c46910d75f Add portable option parser.
GitOrigin-RevId: 0d4f7e2f5bec4826e1c12e3aa1aee642fcf6da07
2020-06-17 03:04:36 +03:00
levlam
4bb6fe7e78 Remove unsupported OptionsParser::Option::Type::OptionalArg.
GitOrigin-RevId: 3226257bf95366472c843cce0e4ca76d3f3cee5c
2020-06-16 18:11:32 +03:00
Arseny Smirnov
1a33df9d52 AesBlock::inc: use bswap64 for x64 and armv8
GitOrigin-RevId: 5842d5d9fd4a865bc0c786e31e3f62f1257d1d4d
2020-06-16 18:34:55 +03:00
Arseny Smirnov
4c288d9398 AesState::Impl -> Evp
GitOrigin-RevId: 536640cffeb4fac1cc6f5a3499554d685891f45e
2020-06-16 18:19:05 +03:00
Arseny Smirnov
005611e924 Refactor td::AesState::Impl
GitOrigin-RevId: 5731ddc8d85c912cbfb141bd4e5eefea22d8ab21
2020-06-16 17:57:19 +03:00
levlam
8eadeaf7b3 Use only AES CBC in AES IGE encrypt.
GitOrigin-RevId: 380af89f18a77afee0baf7ec739836b071f96ab5
2020-06-16 06:34:17 +03:00
levlam
f3ebae267d Implement AES IGE encrypt using AES CBC.
GitOrigin-RevId: ca803ca847a9c44e70687ade0f1ea25c0ee0ebb2
2020-06-16 06:16:09 +03:00
levlam
3442a88413 Unify constant names style.
GitOrigin-RevId: 6e4475366b94cea6ab0331d57f254311490bdee2
2020-06-16 05:10:16 +03:00
levlam
40ee207854 Improve AesIgeState.
GitOrigin-RevId: b0a1d8bad4be32e4f6fa9ff36f5a5bef2c464b26
2020-06-16 01:32:08 +03:00
levlam
e1515226be Simplify XorBytes.
GitOrigin-RevId: d20ae3c1d44d0a88068b42979685e5b1f9df0193
2020-06-16 01:13:45 +03:00
levlam
6a7dfc4f01 Minor AES improvements.
GitOrigin-RevId: 138384ad375735b9e889172cae919368c9976456
2020-06-15 23:20:44 +03:00
Arseny Smirnov
53b0a74f87 tdutils: revert tosimple AesBlock::inc implementation
GitOrigin-RevId: 7f894bb710e32b6573603f3500c35daf0752cf02
2020-06-15 22:38:31 +03:00
Arseny Smirnov
132caf5c8f tdutils: use new aes ige for long plaintext
GitOrigin-RevId: 4bd8ddd20508e235c0fb8b40ac42b9dcabfed30c
2020-06-15 19:23:40 +03:00
Arseny Smirnov
7e06d91739 tdutils: optimize aes ctr
GitOrigin-RevId: b24920ac38bb3b8e94ece87e7438a8b8b1b370c4
2020-06-15 18:59:56 +03:00
Arseny Smirnov
8845e18da9 tdutils: simplify aes ctr
GitOrigin-RevId: 557cc787f77e2f0af494e7dd46fa99e495a16925
2020-06-15 16:58:58 +03:00
Arseny Smirnov
0c0f6a7b7b tdutils: simplify aes ige
GitOrigin-RevId: bc99b8c159cc866875ef69e44cd1e88f5e5dffee
2020-06-15 16:43:02 +03:00
Arseny Smirnov
7e5a08f272 tdutils: new ige implementation
GitOrigin-RevId: c19b702e3cfcb1edb182839e67c410c7fc3edac5
2020-06-15 15:07:58 +03:00
levlam
0cf4fea1ff Remove enum usages for static constants creation.
GitOrigin-RevId: 2a88fd2cd961398a09403fe35a15ae56372a44f8
2020-06-15 04:52:56 +03:00
levlam
ea4841a37c Unify enum constant name style.
GitOrigin-RevId: 2e36eef9b54c23da0d1bc9beb7e07af8835f702d
2020-06-15 04:23:47 +03:00
levlam
715146c65c Move skip_eintr to a separate header.
GitOrigin-RevId: 80eeb583cd1a4351c5b72c7ec4021575dbc216a7
2020-06-15 03:50:38 +03:00
levlam
c8913e71af Add td::change_user.
GitOrigin-RevId: 8140b771e561d968d6fbf790249364190cb96d6c
2020-06-15 03:14:08 +03:00
levlam
7cd42fc518 Add set_resource_limit.
GitOrigin-RevId: 29cf122b31ff86ccc8f6c1fc3b71c28e89b8054f
2020-06-15 01:50:03 +03:00
levlam
18b8e87e74 Support cpu_stat on Windows.
GitOrigin-RevId: df9a2fa6d53fb1c19cd30f2da3354bc23b2f3aee
2020-06-14 04:01:02 +03:00
levlam
50a6b5da92 Minor cpu_stat improvements.
GitOrigin-RevId: ef6f8b0ed04ae88c9784260435e06a647babf0a1
2020-06-14 02:49:10 +03:00
levlam
6b1c2f797d Add mem_stat support on Windows.
GitOrigin-RevId: cf63e7fe53a00f2fa116472ed12f73492ad8bf29
2020-06-14 02:31:57 +03:00
levlam
8350cd2433 Initialize field just in case.
GitOrigin-RevId: 4707c1101a6699fe37f8c942b6b66cfdd0e7bc36
2020-06-13 21:04:29 +03:00
levlam
584a0309c5 Fix return code checks.
GitOrigin-RevId: a4ace29e0bf81441b207d234c2e190dcb777b0cb
2020-06-13 20:57:47 +03:00
levlam
2ed9cb3b75 Minor fixes.
GitOrigin-RevId: ce9058c2075281697cc41de2ab970dd11e189f77
2020-06-13 05:13:11 +03:00
levlam
c68481052a AES CTR improvements.
GitOrigin-RevId: c4ed8fdc883fdf7cc2ed10334d3bb9487d590d41
2020-06-13 04:45:40 +03:00
levlam
7ec6c794f8 Use fuzzy search for PHP 7.2 on OpenBSD.
GitOrigin-RevId: d2bb7efbc201666c0e1fe455abc8c69bcf4d782d
2020-06-12 22:08:44 +03:00
levlam
f6ef851fe2 AES fixes.
GitOrigin-RevId: bf30c8c381edb623fec0dfac1c494559f3f3739e
2020-06-12 19:43:58 +03:00
Arseny Smirnov
e913c3126b tdutils: optimize aes ctr
GitOrigin-RevId: 09c6df45c0bf2683507a0f279769471efc859ecb
2020-06-12 19:40:17 +03:00
Arseny Smirnov
c4ed5ce140 tdutils: aes experiments
GitOrigin-RevId: 1dd2812041778679fb1ef0462d9e8b1899181e0b
2020-06-12 18:06:40 +03:00
levlam
44689f81ff Minor improvements.
GitOrigin-RevId: 835275f0146586e4de5e18e9f01be29bb72ddf31
2020-06-10 03:42:00 +03:00
levlam
bed0bb69f0 Simplify List test.
GitOrigin-RevId: 7306a169794ecb1e24e3b256bed600dd7d1a698c
2020-06-10 03:01:23 +03:00
levlam
2a51b98453 Add TsList. Add List/TsList tests.
GitOrigin-RevId: 78a85d3d575fa320187119a23a1ac2e265c70344
2020-06-09 18:40:36 +03:00
levlam
2a623b0a50 Add some ListNode helper methods.
GitOrigin-RevId: b4e79174cac16752185cc8bfa2436b7393464289
2020-06-09 17:39:34 +03:00
levlam
cd451b7c45 Add List::init_from.
GitOrigin-RevId: 17a6f374ff0b568c6e2d056053539fb2947f22d3
2020-06-09 17:18:59 +03:00
levlam
64094b0a23 Add RandomSteps for tests.
GitOrigin-RevId: eb4e7c92987db765aab24ad9afd2f072e6665607
2020-06-09 05:17:39 +03:00
levlam
901d884910 Improve VectorQueue.
GitOrigin-RevId: c64b8598a3d492236be2c4d1f3ccb4addc14891e
2020-06-09 05:09:58 +03:00
levlam
f7f43c39a8 Add Span::back/rbegin/rend.
GitOrigin-RevId: 25bac5c0987e6c1f9b012c75c550110c07369684
2020-06-09 04:48:08 +03:00
levlam
b1419f9de5 Fix some includes.
GitOrigin-RevId: f4b44d2e91ca72b6090d7f1f35673e8268723241
2020-06-07 18:14:52 +03:00
levlam
de6d5359ed Use #pragma managed(push, off) around unmanaged includes in managed code.
GitOrigin-RevId: 1b8944dfa23e38f675aec0f25d78644baa27ab84
2020-06-06 22:51:45 +03:00
levlam
3788cd28f9 Clear OpenSSL errors after init.
GitOrigin-RevId: 0e74ffdada6d568645aef6496df3498e0638bbc0
2020-06-06 21:35:09 +03:00
levlam
ed615430e1 Move OpenSSL error hancling functions to tdutils.
GitOrigin-RevId: 6d45b5ee1077eca430802fb6258104b0371688fa
2020-06-06 21:31:47 +03:00
levlam
c36e8d6c78 Add storer for vector of pointers.
GitOrigin-RevId: 1e2573f0fcf33eec26f4a17860a406c2a99336bb
2020-05-25 02:40:00 +03:00
levlam
088a96ff15 Add some checks.
GitOrigin-RevId: 6c24e7d3d48ed823a45d6b106855f3a0f55a0db5
2020-05-19 15:11:21 +03:00
levlam
eb8fba8b28 Fix init_host_port.
GitOrigin-RevId: 30abb3480d906ebd7ea50a7feecf072be6e36641
2020-05-16 23:54:40 +03:00
levlam
5b18a56e03 Add IPAddress::get_ip_host and use it whenever appropriate.
GitOrigin-RevId: 7254ebd036463fe2c8b6262269cbee843b320421
2020-05-16 23:12:52 +03:00
levlam
9fe0d4bbd9 Do not remove brackets from HttpUrl IPv6 host.
GitOrigin-RevId: 59db5b747e66bd83cbfa81d4276af2aa1bb8b7ca
2020-05-16 22:53:19 +03:00
levlam
842e2033b7 Fix IP address verification in TLS certificate.
GitOrigin-RevId: 5275f8be34e9459a13a87e6fbd056754ceb515d4
2020-05-16 18:43:49 +03:00
levlam
7bdff46710 Do not send IP address in SNI.
GitOrigin-RevId: ff01b1f5f9219e34b0cacdf8acd49bf4e5a3daa2
2020-05-16 17:50:58 +03:00
levlam
e58d423af1 Add IPAddress::get_ip_address.
GitOrigin-RevId: 8b82c462f10d705412cb6cedc3d25d5fb95c59e2
2020-05-16 17:35:53 +03:00
levlam
705ab4d415 Supoort bracketed IPv6 in init_ipv6_port.
GitOrigin-RevId: 5452157d85fa5628a07e82fec20c92e8b0836508
2020-05-16 17:30:16 +03:00
levlam
06b053ff3e Add comment about IPAddress::get_ip_str unsafety.
GitOrigin-RevId: 29cd28bf9a6422cd0295c74f904ba380fc119570
2020-05-16 16:43:40 +03:00
levlam
54f9c77a20 Make ipv4_to_str/ipv6_to_str safe to use.
GitOrigin-RevId: 622c8f03c8791545922d3ae5f596f0a9699b91a9
2020-05-16 16:33:32 +03:00
levlam
bf963ccadf Make IPAddress::get_ipv6 safe to use.
GitOrigin-RevId: 47d50318abac4231efe63820902ba4d74b6dd03d
2020-05-16 16:11:03 +03:00
levlam
3b3b67b834 Do not try to parse http scheme further some reserved characters.
GitOrigin-RevId: 363ad7bf8022bddc6c3370abc6a8ee244d384759
2020-05-07 03:12:47 +03:00
levlam
7fd495a69c Optimize TlStorerToString.
GitOrigin-RevId: fe43727ec9a0ec777860c16fd6fcbd73a9fd4c09
2020-04-29 21:49:11 +03:00
levlam
851d23f06c Add messageDice.success_animation_frame_number.
GitOrigin-RevId: d0afff34c7d74fe5e06b008b7a8438be4aebe88b
2020-04-21 19:08:01 +03:00
levlam
822bc95d13 Reget users to restore their online status after removing them from privacy restrictions.
GitOrigin-RevId: e29832c5a056cdc5708c02ce31e77570ff335ced
2020-04-19 12:53:07 +03:00
levlam
5294bf8607 Update Unicode data to 13.0.0.
GitOrigin-RevId: f8ef2133797db0092be6ec98e45373bdde850567
2020-04-08 22:27:49 +03:00
levlam
77c7f4c660 Add Clocks::tz_offset.
GitOrigin-RevId: b1dcb9a8533f408961778eac7c7fa5db1bd2b920
2020-04-08 20:47:14 +03:00
levlam
b35862bd71 Simplify Clocks.
GitOrigin-RevId: 6684cd9d98efea14d00317d1975b58aa7e2c8a11
2020-04-08 02:39:51 +03:00
levlam
f9e8bbdff4 Fix undef of small with WIN32_LEAN_AND_MEAN defined.
GitOrigin-RevId: ca8ca03bdf62e9aaf2fe44078aa074296a3a949e
2020-04-01 00:36:01 +03:00
levlam
c7411004be Fix count_bits implementation.
GitOrigin-RevId: a6b56a2f9dbef462107787c852bacee6571df2c9
2020-03-31 23:21:42 +03:00
levlam
c4023a3f9b Use KB instead of kB for 1024 bytes.
GitOrigin-RevId: 163ebf3f28f5e6f6710b3ff85bdfc21996c67acb
2020-03-20 03:20:07 +03:00
levlam
9d1e3ed661 Add WIN32_LEAN_AND_MEAN during build on Windows (0% build time speed up).
GitOrigin-RevId: ebe9742fa94187434be37339862f11b750db44ac
2020-03-19 02:33:53 +03:00
levlam
a0c5c5900a Better rand_string parameter types.
GitOrigin-RevId: 2702375880663d3cfe1546b047e01ba02ffcd2ce
2020-03-15 02:01:22 +03:00
levlam
968689157c Make max_compression_ratio required parameter in gzencode.
GitOrigin-RevId: c787fdeae202d3b80944412e7db4209f35adcd07
2020-03-15 01:56:48 +03:00
levlam
1ed0ab3146 Improve logging on failed check.
GitOrigin-RevId: 3058af6fe76779e02eb6440fd1ab13ce07621785
2020-03-14 01:54:13 +03:00
levlam
d48faede71 Remove now unneeded BigNum::ensure_const_time method.
GitOrigin-RevId: ce34efc94f3e13f306592bed86a37f342a356a23
2020-03-10 18:31:13 +03:00
levlam
2df3de7b80 Improve logging.
GitOrigin-RevId: 8574b038e9682f8020d1508a7be7beef223e1b08
2020-03-10 04:37:46 +03:00
levlam
ae5588bf11 Make webPage.description a formatted text.
GitOrigin-RevId: b64cf0e915f9fdeeadc8cdee8280fcbb236c92bb
2020-03-02 16:05:18 +03:00
levlam
92df8f9827 Remove unneeded brackets.
GitOrigin-RevId: 0b8a2ae21d28e6c276db8b45ffb4d127800f5d73
2020-02-26 18:15:19 +03:00
levlam
e34058c16f Optimize TlBufferParser for empty strings.
GitOrigin-RevId: fb796f93d84a32c90f9420029b89e0f7fe169869
2020-02-23 22:44:14 +03:00
levlam
1313fb1543 Remove illegal MovableValue<void *> usage.
GitOrigin-RevId: 1daee39044131e396183ee20baa589b96ba27eb4
2020-01-30 22:11:04 +03:00
levlam
728d8d79f6 More enum class usages.
GitOrigin-RevId: 6680ce2276ced5b015a1f508f0b7b5f28b5f4a9b
2020-01-19 03:02:56 +03:00