Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/boringssl.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-09-03Markdown-ify BUILDING.David Benjamin
Change-Id: Icd3cba6522ce47a4dfe699204982b5b692d3d62e Reviewed-on: https://boringssl-review.googlesource.com/5811 Reviewed-by: Adam Langley <agl@google.com>
2015-06-19Suggest building at Android API level 16.Adam Langley
Android >= L requires that binaries be position independent. However, this is only enabled with API level 16 or above. Since developers are likely to have modern Android versions, suggest API level 16 in the BUILDING file to save someone in the future having to figure this out. Change-Id: I66db7228e3d6fef0aa8dcfcfff67a71cb630a2b9
2015-05-05Add support for building with the Android NDK.Adam Langley
Previously I've been using the Linaro toolchains and just building static binaries. However, the Linaro toolchains have a broken pthread_rwlock_wrlock—it does nothing and then unlocking corrupts the lock. Building with the Android NDK avoids this. These build instructions depend on https://github.com/taka-no-me/android-cmake which people will need to clone into util/ if they want to use the Android NDK. Change-Id: Ic64919f9399af2a57e8df4fb4b3400865ddb2427 Reviewed-on: https://boringssl-review.googlesource.com/4600 Reviewed-by: Adam Langley <agl@google.com>
2015-03-06Generate error data at build time.David Benjamin
This avoids cluttering up the diff and making merge conflicts a pain. It does, however, mean we need to generate err_data.c ahead of time in Chromium and likely other downstream builds. It also adds a build dependency on Go. Change-Id: I6e0513ed9f50cfb030f7a523ea28519590977104 Reviewed-on: https://boringssl-review.googlesource.com/3790 Reviewed-by: Adam Langley <agl@google.com>
2015-02-23Find perl using the CMake's standard FindPerl module.David Benjamin
This gives a standard PERL_EXECUTABLE configuration knob which is useful for specifying a perl to use without having it in PATH. Change-Id: I4b196b77e0b4666081a3f291fee3654c47925844 Reviewed-on: https://boringssl-review.googlesource.com/3570 Reviewed-by: Adam Langley <agl@google.com>
2015-02-23Use TCP sockets rather than socketpairs in the SSL tests.David Benjamin
This involves more synchronization with child exits as the kernel no longer closes the pre-created pipes for free, but it works on Windows. As long as TCP_NODELAY is set, the performance seems comparable. Though it does involve dealing with graceful socket shutdown. I couldn't get that to work on Windows without draining the socket; not even SO_LINGER worked. Current (untested) theory is that Windows refuses to gracefully shutdown a socket if the peer sends data after we've stopped reading. cmd.ExtraFiles doesn't work on Windows; it doesn't use fds natively, so you can't pass fds 4 and 5. (stdin/stdout/stderr are special slots in CreateProcess.) We can instead use the syscall module directly and mark handles as inheritable (and then pass the numerical values out-of-band), but that requires synchronizing all of our shim.Start() calls and assuming no other thread is spawning a process. PROC_THREAD_ATTRIBUTE_HANDLE_LIST fixes threading problems, but requires wrapping more syscalls. exec.Cmd also doesn't let us launch the process ourselves. Plus it still requires every handle in the list be marked inheritable, so it doesn't help if some other thread is launching a process with bInheritHandles TRUE but NOT using PROC_THREAD_ATTRIBUTE_HANDLE_LIST. (Like Go, though we can take syscall.ForkLock there.) http://blogs.msdn.com/b/oldnewthing/archive/2011/12/16/10248328.aspx The more natively Windows option seems to be named pipes, but that too requires wrapping more system calls. (To be fair, that isn't too painful.) They also involve a listening server, so we'd still have to synchronize with shim.Wait() a la net.TCPListener. Then there's DuplicateHandle, but then we need an out-of-band signal. All in all, one cross-platform implementation with a TCP sockets seems simplest. Change-Id: I38233e309a0fa6814baf61e806732138902347c0 Reviewed-on: https://boringssl-review.googlesource.com/3563 Reviewed-by: Adam Langley <agl@google.com>
2015-02-13Update BUILDING documentation regarding Go.David Benjamin
Go is not required for running all the tests and bash isn't. Change-Id: I04d5981dbd2203e8bae27a1265a5db5e35ae5279 Reviewed-on: https://boringssl-review.googlesource.com/3450 Reviewed-by: Adam Langley <agl@google.com>
2015-01-28Honor the standard BUILD_SHARED_LIBS cmake variable.David Benjamin
The variable switches the default type for add_library from STATIC to SHARED. We can condition additional stuff on that for convenience. (tabtest still doesn't build.) BoringSSL as any kind of stable system shared library is still very much unsupported, but this is probably handy for making sure we don't forget all those pesky OPENSSL_EXPORTs. Change-Id: I66ab80bcddbf3724e03e85384141fdf4f4acbc2e Reviewed-on: https://boringssl-review.googlesource.com/3092 Reviewed-by: Adam Langley <agl@google.com>
2015-01-28Clean up use of Windows Platform SDK headers.Brian Smith
Define WIN32_LEAN_AND_MEAN before including Windows Platform SDK headers to preempt naming conflicts and to make the build faster. Avoid including those headers in BoringSSL headers. Document that Platform SDK 8.1 or later is required on Windows. Change-Id: I907ada21dc722527ea37e839c71c5157455a7003 Reviewed-on: https://boringssl-review.googlesource.com/3100 Reviewed-by: Adam Langley <agl@google.com>
2015-01-28Enable bssl client/s_client and server/s_server on Windows.Brian Smith
Change-Id: Iea9bd25176724b56ebb21bded6925f5d30176548 Reviewed-on: https://boringssl-review.googlesource.com/3071 Reviewed-by: Adam Langley <agl@google.com>
2015-01-28Enable bssl (md5sum, sha256sum, etc.) on Windows.Brian Smith
We deal with the difference between binary and text modes on Windows by doing all I/O in binary mode (including, in particular, stdin/stdout/stderr) and by treating text mode as equivalent to binary mode (i.e. we use Unix line ending semantics). Change-Id: I76a46d8d02cd7efe1931c8272d8f2c311aef3acb Reviewed-on: https://boringssl-review.googlesource.com/3070 Reviewed-by: Adam Langley <agl@google.com>
2015-01-28Improve the documentation in BUILDINGBrian Smith
The initial instructions given don't work on Windows for a variety of reasons. Document the prerequisite tools and the limitations on Windows. BUG=crbug.com/451610 Change-Id: Ib5eaf00ed9b91c02b4d0e9987f8f3b4eb73266d3 Reviewed-on: https://boringssl-review.googlesource.com/3010 Reviewed-by: Adam Langley <agl@google.com>
2014-11-01Build with yasm on Win64 as well.David Benjamin
Chromium's doesn't have built-in support for ml64.exe. Seems easier to just build consistently with Yasm on both Win32 and Win64. (This will require an equivalent change in Chromium's build, but keep upstream and downstream builds consistent.) Also don't set CMAKE_ASM_NASM_COMPILER explicitly; cmake's default ASM_NASM behavior will search for both nasm or yasm in %PATH%. Leave it unset so it can be overwritten on the command-line to point to a particular yasm. Update BUILDING accordingly. Verified the tests still pass. Change-Id: I7e434be474b5b2d49e3bafbced5b41cc0246bd00 Reviewed-on: https://boringssl-review.googlesource.com/2104 Reviewed-by: Adam Langley <agl@google.com>
2014-08-18Increase minimum required cmake versionVictor Vasiliev
OBJECT library types are supported only in CMake 2.8.8 or higher, and attempting to build BoringSSL on Ubuntu 12.04 results in CMake displaying unhelpful error messages. Change-Id: I2bc77a2c95d4f6ee41f8489ff679a2a0ba48c508 Reviewed-on: https://boringssl-review.googlesource.com/1530 Reviewed-by: Adam Langley <agl@google.com>
2014-08-01Add visibility rules.Adam Langley
This change marks public symbols as dynamically exported. This means that it becomes viable to build a shared library of libcrypto and libssl with -fvisibility=hidden. On Windows, one not only needs to mark functions for export in a component, but also for import when using them from a different component. Because of this we have to build with |BORINGSSL_IMPLEMENTATION| defined when building the code. Other components, when including our headers, won't have that defined and then the |OPENSSL_EXPORT| tag becomes an import tag instead. See the #defines in base.h In the asm code, symbols are now hidden by default and those that need to be exported are wrapped by a C function. In order to support Chromium, a couple of libssl functions were moved to ssl.h from ssl_locl.h: ssl_get_new_session and ssl_update_cache. Change-Id: Ib4b76e2f1983ee066e7806c24721e8626d08a261 Reviewed-on: https://boringssl-review.googlesource.com/1350 Reviewed-by: Adam Langley <agl@google.com>
2014-06-21Inital import.Adam Langley
Initial fork from f2d678e6e89b6508147086610e985d4e8416e867 (1.0.2 beta). (This change contains substantial changes from the original and effectively starts a new history.)