- 19 Jul, 2017 3 commits
-
-
Xiangyu Bu authored
Summary: Add paths of SSLOptions.{cpp, h} to folly/Makefile.am. Reviewed By: Orvid Differential Revision: D5453343 fbshipit-source-id: ba0b8b065ed964dfff1757533db17e31aa672e83
-
Eli Lindsey authored
Summary: As written, this str() method depends on the current state of the host - if an interface disappears (as is commong with eg. mobile, ipsec, etc.) then attempting to generate a string representation of this v6 address will currently throw an exception. Instead, we're going toignore the lookup failure and append the index i; this form is interchangeable, though slightly less legible. Reviewed By: yfeldblum Differential Revision: D5443618 fbshipit-source-id: bbd3b4edaee8098671140af7400377d5e2b1937b
-
Dave Watson authored
Summary: A folly::atomic_shared_ptr version of CoreCachedSharedPtr. Reviewed By: yfeldblum Differential Revision: D5389603 fbshipit-source-id: 942700cd66f5f5219418f4c6112146dc40351aa0
-
- 18 Jul, 2017 7 commits
-
-
Christopher Dykes authored
Summary: Windows doesn't have `net/if.h` and instead needs `iphlpapi.h` included, and `ntddndis.h` is ultimately needed to get the definition of `IF_NAMESIZE`. Reviewed By: yfeldblum Differential Revision: D5438188 fbshipit-source-id: 48a786f7d10ca4b8479bb20b257ed1e857431654
-
Victor Gao authored
Summary: This adds a macro `FOLLY_MAYBE_UNUSED` in `folly/CppAttributes.h` that can be used to suppress `-Wunused` warnings. Reviewed By: yfeldblum Differential Revision: D5444742 fbshipit-source-id: b16e8efefd76282498ad6114bac9548064cf38d5
-
Xiangyu Bu authored
Summary: This diff contains some helper functions that set a `SSLContext` object with recommended lists of ciphers and signature algorithms for given scenarios. In addition, DES and CHACHA are removed from the cipher list. Reviewed By: yfeldblum Differential Revision: D5373599 fbshipit-source-id: 04de11fe90cac734caa12a80e56f70532803f94e
-
Christopher Dykes authored
Ensure the allocator types in the string keyed tests have value_types matching the value type of the collection Summary: Because MSVC's standard library implementation is now checking that this is actually the case: ``` error C2338: set<T, Compare, Allocator> requires that Allocator's value_type match T (See N4659 26.2.1 [container.requirements.general]/16 allocator_type) Either fix the allocator value_type or define _ENFORCE_MATCHING_ALLOCATORS=0 to suppress this diagnostic. ``` I've gone with the "Fix the `value_type`" approach. Reviewed By: yfeldblum Differential Revision: D5441017 fbshipit-source-id: b30403d2e48f815177cac29c4e6eec4e79583660
-
Phil Willoughby authored
Summary: 32-bit iOS environments were triggering the previous condition with LifoSem. Reviewed By: yfeldblum Differential Revision: D5442057 fbshipit-source-id: 64ee32b4ad35150c7f295a2a30bbede8fa13e79e
-
Christopher Dykes authored
Summary: Also use it to disable function_test and indexed_mem_pool_test for now while the source of their breakage is being investigated. Reviewed By: yfeldblum Differential Revision: D5440415 fbshipit-source-id: 630c884ccd2db660bfc3e4529a2d35941d3bd0d3
-
Dan Melnic authored
Summary: Lua exception handling test - start with the failing test first - code from D5431445 Reviewed By: yfeldblum Differential Revision: D5432254 fbshipit-source-id: 87f5934f28ac6ef7b55314acb3c150b9ccf6c799
-
- 17 Jul, 2017 5 commits
-
-
Christopher Dykes authored
Summary: `AsyncSignalHandler` is not currently supported on Windows, so we shouldn't be attempting to build it. Reviewed By: yfeldblum Differential Revision: D5437276 fbshipit-source-id: b3f281bfc501444bb22056860ee785a2beb9b671
-
Tommy Nguyen authored
Summary: - The __GNUC__ macro is used by other compilers like Clang and ICC, but ext/stdio_filebuf.h is a libstdc++ only extension. fixes #636 Closes https://github.com/facebook/folly/pull/637 Reviewed By: yfeldblum Differential Revision: D5434532 Pulled By: Orvid fbshipit-source-id: ce4f966a74aa9f82ae907c67807ac87ec1588173
-
Christopher Dykes authored
Summary: There is no longer anything keeping them from working on Windows. Except for that `signal(SIGPIPE, SIG_IGN)` call; that has to stay disabled. Reviewed By: simpkins Differential Revision: D5308007 fbshipit-source-id: 74a392cf484404f41a6c51e50b5a9e6fbd05b4a9
-
Yedidya Feldblum authored
Summary: [Folly] Let `exception_wrapper::handle`, when empty, show the right error message. The error message currently says that `throw_exception` cannot be called on an empty `exception_wrapper`, but should say that `handle` cannot be called on an empty `exception_wrapper`. Reviewed By: Orvid Differential Revision: D5432380 fbshipit-source-id: ffa69c7675ee332e596e861e59ea273c39fc4717
-
Yedidya Feldblum authored
Summary: CodeMod: Prefer `ADD_FAILURE()` over `EXPECT_TRUE(false)`, et cetera. The tautologically-conditioned and tautologically-contradicted boolean expectations/assertions have better alternatives: unconditional passes and failures. Reviewed By: Orvid Differential Revision: D5432398 Tags: codemod, codemod-opensource fbshipit-source-id: d16b447e8696a6feaa94b41199f5052226ef6914
-
- 15 Jul, 2017 1 commit
-
-
Christopher Dykes authored
Summary: Because these are always 64-bit values. This hasn't actually been an issue but is the correct thing to do. Reviewed By: yfeldblum Differential Revision: D5425658 fbshipit-source-id: 5bc204b3d1af2c710bd8b1665211d2971ccf7be7
-
- 14 Jul, 2017 8 commits
-
-
Christopher Dykes authored
Summary: It is a non-portable include as it is include-order sensitive. Reviewed By: yfeldblum Differential Revision: D5427885 fbshipit-source-id: 50850064fc8fa3ed6f8fc235f31edbda4144663c
-
Christopher Dykes authored
Summary: MSVC has issues with the way it was written, so just use the standard version instead. Upstream bug report: https://developercommunity.visualstudio.com/content/problem/80433/incorrect-error-c2462-cannot-define-a-type-in-a-ne.html Reviewed By: yfeldblum Differential Revision: D5427029 fbshipit-source-id: ae3737175d5b8e9738ed6b9573412d1d566b0e1c
-
Christopher Dykes authored
Summary: `__gnu_cxx::sfmt19937` is 3.5x faster than `std::mt19937` according to the benchmark. Reviewed By: yfeldblum Differential Revision: D5410705 fbshipit-source-id: d503544a0b9b1b0c614a27466a297a4e6902fc15
-
Phil Willoughby authored
Summary: Previously it generated a warning if compiled with -Wover-align because its alignment exceeded alignof(std::max_align_t). This also meant that heap-allocated LifoSem objects were not guaranteed to be on their own cache-line, potentially degrading performance. This change adds padding before the important part of the LifoSem (to match the existing after-padding) and reduces its alignment requirement. Reviewed By: yfeldblum Differential Revision: D5380700 fbshipit-source-id: 7fdd593a58a2e0c7b03df11152ee4bb66f57e717
-
Christopher Dykes authored
Summary: It was shadowing locals. Reviewed By: yfeldblum Differential Revision: D5422356 fbshipit-source-id: 91da6fcf0b2ea3821394068e9847976e04f43ca9
-
Eli Lindsey authored
Summary: Some implementations of getnameinfo are triggering reverse DNS lookups despite us specifying NI_NUMERICHOST. Avoid all that by instead producing our string representations of v6 addresses manually via inet_ntop and if_indextoname. Reviewed By: yangchi Differential Revision: D5415477 fbshipit-source-id: 67853a85db6517d374d94c8261e56400f4c00fc5
-
Phil Willoughby authored
Summary: The C++ standard doesn't guarantee alignment of things bigger than std::max_align_t which is typically 16 bytes. This means that to ensure something is the only thing on a cache-line we need padding on each side of it to exclude anything else. CachelinePadded<T> will now be larger than it was before, and reinterpret_cast to/from T is no longer valid. Reviewed By: yfeldblum Differential Revision: D5380849 fbshipit-source-id: 20f275c875eb4bede4aef19ac7224913ce9b6d51
-
Xiangyu Bu authored
Summary: Break a few long lines in folly::SSLContext. Reviewed By: yfeldblum Differential Revision: D5418517 fbshipit-source-id: fc2ac310d1f931a1f8a4af077aa5cde347b1042d
-
- 13 Jul, 2017 6 commits
-
-
Christopher Dykes authored
Summary: There were references to things that don't exist or have an equivalent on Windows. Reviewed By: yfeldblum Differential Revision: D5099802 fbshipit-source-id: 9a5a2d0e5cb3a33ecad00bf8a2e1c13315a015cc
-
Christopher Dykes authored
Summary: The file itself will still get removed when `TemporaryFile` is destroyed, but closing it before then allows it to be read when on Windows, because `TemporaryFile` opens the temporary file with `O_EXCL`, so Windows denies read access of the file to everything else. This is needed to fix one of the AsyncFileWriter tests on Windows. Reviewed By: simpkins Differential Revision: D5307719 fbshipit-source-id: bd65962cc3d34f382cc7b0b55dbf2659ed5ebfce
-
Christopher Dykes authored
Summary: There are bugs in MSVC's codegen that causes `StringPiece`'s evaluated in a `constexpr` context to have the start pointer point to one copy of the string and the end pointer point to another. Using the `StringPiece` at compile-time is perfectly fine, it just has the wrong values at runtime. We can work around this issue by enabling string pooling in all modes. Original bug report: https://developercommunity.visualstudio.com/content/problem/3216/c-incorrect-data-duplication-in-constexpr-context.html Reviewed By: yfeldblum Differential Revision: D5409753 fbshipit-source-id: 24e2b343209ba7c86d0dd39a1358d0abe9ee6d4d
-
Ankit Shah authored
Summary: Added getters and setters for ECDSA_SIG to allow for compatibility between OpenSSL 1.1.0 and 1.0.2 Reviewed By: knekritz Differential Revision: D5408934 fbshipit-source-id: 7a3d9df774728c81270cc4da34c75202018e430d
-
Yedidya Feldblum authored
Summary: [Folly] Sort `#include` lines, as required by `clang-format`. Reviewed By: igorsugak, Orvid Differential Revision: D5405153 fbshipit-source-id: 3bb1c2b84271bcf7a195e07680777dbfdd499823
-
Eli Lindsey authored
Summary: This reverts commit 69b0171a9a54738045f9041381aea5512b17eb13 Differential Revision: D5408572 fbshipit-source-id: 3ec8ce96575b632fb134be99cc0d2538a01a7d85
-
- 12 Jul, 2017 4 commits
-
-
Eli Lindsey authored
Summary: Some implementations of getnameinfo are triggering reverse DNS lookups despite us specifying NI_NUMERICHOST. Avoid all that by instead producing our string representations of v6 addresses manually via inet_ntop and if_indextoname. Differential Revision: D5408572 fbshipit-source-id: 69b0171a9a54738045f9041381aea5512b17eb13
-
Mickey Phoenix authored
Summary: The documentation for folly::to<double>()'s handling of unparseable inputs (including "") is incorrect. Additionally, the documentation does not document to<double>()'s handling of the inputs "NaN", "-NaN", "inf", "infinity", "-inf", and "-infinity". This corrects the documentation. See https://github.com/facebook/folly/blob/3272dfdbe243e0ac02acca1dd82bc391d1da079a/folly/docs/Conv.md under the heading "Parsing floating-point types" for the incorrect documentation as rendered. Reviewed By: yfeldblum Differential Revision: D5367656 fbshipit-source-id: 22b38e2bb85d2e647975798360ead39eed6caae8
-
Tom Jackson authored
Summary: This avoids having exceptions occur while constructing hashtables. Reviewed By: ot, yfeldblum Differential Revision: D5384419 fbshipit-source-id: ba2de8cffa46df550bdc62abbe529801249e45cd
-
Phil Willoughby authored
Summary: Should now work on GCC-compatible compilers, and all other compilers which don't attempt any inter-TU optimizations. Moved out of Utility.h because it now requires a supporting .cpp file and some clients presume that Utility.h can be used header-only. Reviewed By: ot Differential Revision: D5381042 fbshipit-source-id: 7e954fed47de4386c85d46a61d56a8fe7fc516f4
-
- 11 Jul, 2017 6 commits
-
-
Christopher Dykes authored
Summary: This reverts commit bc725838dc7f62d030c7e68bc6d229042df2b46c Differential Revision: D5393697 fbshipit-source-id: 4b9ef1e733b0ad73e6deea7ac8a52dfe785b4f2b
-
Benjamin Renard authored
Summary: This revision adds a helper method in folly/Checksum.h, that returns the same crc32 value as php's built-in implementationa and boost::crc_32_type. folly's default implementation only differs from the final xor (with 0xFFFFFFFF for boost and php, 0 for folly), which is added here. Reviewed By: djwatson Differential Revision: D5396671 fbshipit-source-id: 14874af2d5a80408c772875142de6e340ce01038
-
Christopher Dykes authored
Summary: `__gnu_cxx::sfmt19937` is 3.5x faster than `std::mt19937` according to the benchmark. Reviewed By: yfeldblum Differential Revision: D5393697 fbshipit-source-id: bc725838dc7f62d030c7e68bc6d229042df2b46c
-
Peter DeLong authored
Summary: The fiber command can now be run on a value of type folly::fibers::Fiber or a value of type folly::fibers::Fiber* Reviewed By: andriigrynenko Differential Revision: D5393491 fbshipit-source-id: 1f48e08288f75c59852c939062db616eb06cea73
-
Giuseppe Ottaviano authored
Summary: `Baton` is more lightweight than a mutex+condition variable, and the code is much simpler. This was actually the original implementation, but the dependency had to be dropped because `Baton` was unsupported on some architectures. That is not a problem anymore. Also reorganize the includes to follow the conventions. Reviewed By: andriigrynenko, yfeldblum Differential Revision: D5396631 fbshipit-source-id: d782cf271eb35723aaeb3c372e1c1dafeaaf0f0a
-
Xiangyu Bu authored
Summary: The function `setCipherList` seems to forget to update the data member `providedCipherString_`. This diff updates `providedCiphersString_` at a single place `setCiphersOrThrow()`, and adds two test cases to make sure the derived `SSL*` uses the desired set of ciphers. Reviewed By: yfeldblum Differential Revision: D5372758 fbshipit-source-id: 8144ab3bc518b2b9fa8090af62f3bd6475bbbece
-