aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* simplify packaging for libtls.Brent Cook2014-12-063-16/+12
| | | | | Derive the file list from the Makefile.am template itself (DRY), ensure manpage is packaged with the final tarball.
* update changelog for libtlsBrent Cook2014-12-061-0/+3
|
* add support for building libtlsBrent Cook2014-12-069-12/+118
| | | | | | | | Use './configure --enable-libtls' to build the library and install the associated manpages. Note that the API and ABI of this library may change still, though feedback is welcome. ok deraadt@ jsing@ tedu@
* update changelog for 2.1.2Brent Cook2014-12-031-0/+12
|
* better cleanup biotest.cBrent Cook2014-12-031-6/+1
|
* monkey patch more POSIX-like behavior out of winsock 2Brent Cook2014-12-033-8/+176
| | | | | | | | | | | | | | | | | | | | | | Windows sockets functions look on the outside like they behave similarly to POSIX functions, but there are many subtle and glaring differences, including errors reported via WSAGetLastError, read, write, and close do not work on sockets, setsockopt takes a (char *) rather than (void *), etc. This header implements wrappers that coerce more POSIX-like behavior from these functions, making portable code easier to develop. BENEFITS: One does not necessarily need to sprinkle #ifdefs around code to handle the Windows and non-Windows behavior when porting code. CAVEATS: There may be performance implications with the 'mother-may-I' approach to determining if a descriptor is a socket or a file. The errno mappings are not 100% what one might expect compared to POSIX since there were not always good 1:1 equivalents from the WSA errors.
* add minimal winsock->BSD networking header shimsBrent Cook2014-12-0320-2/+205
| | | | also add license header to existing shims
* add minimal poll(2) implementation for WindowsBrent Cook2014-12-035-2/+398
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This provides sufficient functionality to run openssl(1) from a Windows console. This is based on the original select-based version from from songdongsheng@live.cn. Changes: * use nfds_t directly for iterating the fds. * add WSAGetLastError -> errno mappings * handle POLLHUP and the OOB data cases for revents * handle sparse arrays of fds correctly * KNF style updates * teach poll how to handle file handles as well as sockets This handles the socket/non-socket issue by alternating a loop between WaitForMultipleObjects for non-sockets and and select for sockets. One would think this would be terrible for performance, but as of this writing, poll consumes about 6% of the time doing a bulk transfer between a Linux box and 'openssl.exe s_server'. I tried to implement this all in terms of WaitForMultipleObjects with a select 'poll' at the end to get extra specific socket status. However, the cost of setting up an event handle for each socket, setting the WSAEventSelect attributes, and cleaning them up reliably was pretty high. Since the event handle associated with a socket is also global, creating a new one cancels the previous one or can be disabled externally. In addition, the 'FD_WRITE' status of a socket event handle does not behave in an expected fashion, being triggered by an edge on a write event rather than being level triggered. Another fun horror story is how stdin in windows might be a console, it might be a pipe, it might be something else. If these all worked in the same way, it would be great. But, since a console-stdin can also signal on a mouse or window event, it means we can easily get stuck in a blocking read (you can't make stdin non-blocking) if the non-character events are not filtered out. So, poll does that too. See here for various additional horror stories: http://www.postgresql.org/message-id/4351.1336927207@sss.pgh.pa.us
* update and mask unit tests when running on win32Brent Cook2014-12-035-11/+57
| | | | | | | | Update pq_test to ignore changes in whitespace. Update for new testssl params, specify absolute paths to test binaries. Fork-based tests do not make sense on Windows. Disable building biotest, since it is too specific to OpenBSD's behavior to be useful on other platforms.
* Add conditional compilation for windows and posix functions.Brent Cook2014-12-034-7/+492
| | | | | This adds a Windows-specific versions of several symbols from libcrypto and openssl(1).
* Update win32 build definesBrent Cook2014-12-031-1/+2
|
* don't ignore a non-existent fileBrent Cook2014-12-031-1/+0
|
* improve readability of generated Makefile.am filesBrent Cook2014-11-235-4/+10
|
* ignore gost and camellia dirsBrent Cook2014-11-181-0/+2
|
* Enable GOST in libcrypto and libssl, contributed by Dmitry Eremin-SolenikovBrent Cook2014-11-181-3/+10
| | | | Ensure the public camellia.h header is installed along with gost.h
* Use _WIN32 instead of __WIN32.宋冬生2014-11-182-2/+2
| | | | ok bcook@
* Add the Cammelia cipher to libcrypto.Brent Cook2014-11-171-1/+5
| | | | | | | | | | | | | | | | | | | | from miod@: There used to be a strong reluctance to provide this cipher in LibreSSL in the past, because the licence terms under which Cammelia was released by NTT were free-but-not-in-the-corners, by restricting the right to modify the source code, as well retaining the right to enforce their patents against anyone in the future. However, as stated in http://www.ntt.co.jp/news/news06e/0604/060413a.html , NTT changed its mind and made this code truly free. We only wish there had been more visibility of this, for we could have had enabled Cammelia earlier (-: Licence change noticed by deraadt@. General agreement from the usual LibreSSL suspects. Crank libcrypto.so minor version due to the added symbols.
* Quiet clang warnings about unused arguments in general.Brent Cook2014-11-031-1/+13
| | | | | Check if we are using clang, rather than simply if we are on OS X. Note: recent LLVM releases do not seem to need this anyway.
* make 'autoreconf' work from dist tarballBrent Cook2014-11-032-1/+3
| | | | We need to include VERSION for it to run.
* override native arc4random_buf on FreeBSDBrent Cook2014-11-035-4/+19
| | | | | | | | | | | | | | | | The FreeBSD-native arc4random_buf implementation falls back to weak sources of entropy if the sysctl fails. Remove these dangerous fallbacks by overriding locally. Unfortunately, pthread_atfork() is broken on FreeBSD (at least 9 and 10) if a program does not link to -lthr. Callbacks registered with pthread_atfork() simply fail silently. So, it is not always possible to detect a PID wraparound. I wish we could do better. This improves arc4random_buf's safety compared to the native FreeBSD implementation. Tested on FreeBSD 9 and 10. ok beck@ deraadt@
* override native arc4random_buf on OS XBrent Cook2014-11-031-0/+4
| | | | | | | | While the native OS X implementation is fork-safe, it does not seed safely, as of the latest released OS X libc sources, version 997.90.3. It only uses weak sources of entropy if accessing /dev/urandom fails. ok beck@ deraadt@
* update README to reflect current porting approachBrent Cook2014-11-031-10/+6
| | | | ok beck@ deraadt@
* Add an OpenSSL compatible ./config wrapperBrent Cook2014-10-311-0/+17
| | | | | | | | This allows sofware expecting OpenSSL's config script, to a limited extent, to continue building without changes. Thanks to technion for pointing this out and providing the initial patch.
* wrap arc4random headerBrent Cook2014-10-301-0/+4
| | | | ok @doug
* Improve and simplify function and header detection logic.Brent Cook2014-10-3010-112/+52
| | | | | | | | | Simplify autoconf checks by using AC_CHECK_FUNCS/HEADERS. Clarify some ambiguous dependencies around strnlen/strndup. Unconditionally enable pidwraptest for all arc4random implementations. Remove HAVE_VASPRINTF conditional, since asprintf requires vasprintf. ok @doug
* use the correct HOST_OS for the Windows buildBrent Cook2014-10-301-1/+1
| | | | ok doug@
* enable -lcrypto -lssl with all test programs directly.Brent Cook2014-10-302-2/+3
| | | | | | This removes the need to specify each one individually. ok doug@
* remove duplicate (and overlapping) .1 manpagesBrent Cook2014-10-261-16/+12
| | | | | | openssl.1 contains all of the information from the other application manpages, and is the only one packaged in OpenBSD. So, remove the other obsolete .1 manpages (and avoid overlapping system pages like passwd.1)
* set various glibc flags that also are useful with mingwBrent Cook2014-10-221-1/+2
| | | | for example, asprintf/vasprintf are unmasked with _GNU_SOURCE in mingw
* undef LIBRESSL_INTERNAL for the pidwrap test.Brent Cook2014-10-221-0/+1
|
* update string.h for include strings.h for HPUX environmentkinichiro2014-10-221-2/+2
|
* include a proper check for memmem when configuring unit testsBrent Cook2014-10-222-0/+7
| | | | This allows the proper compatibility header definition to be exposed.
* bump versionBrent Cook2014-10-221-1/+1
|
* update with 2.1.1 changesBrent Cook2014-10-151-0/+5
| | | | ok beck@
* LibreSSL portable README updateBrent Cook2014-10-151-18/+34
| | | | Add more info on how to build from source, where to download it from.
* add extended ChangeLog fileBrent Cook2014-10-142-1/+61
| | | | help people more easily find the code and changes
* update gitignore to see changelogBrent Cook2014-10-141-1/+2
|
* add missing commas from man linksBrent Cook2014-10-141-6/+6
|
* update man linksBrent Cook2014-10-141-0/+6
|
* don't fail to make dist on a clean repoBrent Cook2014-10-141-1/+1
|
* crank versionBrent Cook2014-10-141-1/+1
|
* update to new converted SSL manpagesBrent Cook2014-10-141-1/+10
|
* clear local manpage cache before generating a release tarballBrent Cook2014-09-261-0/+1
| | | | | Remove the possibility of having any bad or old manpages in releases while still being able to cache for quick development tarballs.
* update for upstream move of the openssl appBrent Cook2014-08-271-17/+15
|
* ensure compatibility with posix shellBrent Cook2014-08-181-1/+1
| | | | remove bash comparison, thanks kinichiro
* add --disable-asm flag for disabling inline asmBrent Cook2014-08-171-0/+4
| | | | | Surprisingly (or not), a lot of OpenSSL's inline assembly actually makes things slower with a relatively modern compiler (read, gcc >= 4.x).
* allow inline asmBrent Cook2014-08-162-2/+1
| | | | use default of -std=gnu99 for it to be recognized
* set _DEFAULT_SOURCE on linux hostsBrent Cook2014-08-161-1/+1
| | | | this is the replacement for _BSD_SOURCE on newer glibc's
* update stdio.h for including stdarg.hinoguchi2014-08-121-0/+1
| | | | | | | | | | | | | | it seems that including stdarg.h is needed for defining va_list environment is hpux 11.31(ia64) with gcc 4.7.1. without stdarg.h, I got compilation error like this. "error: 'va_list' undeclared (first use in this function)" I checked with gcc -E, then I noticed that __va_list is defined but va_list is not. "typedef __gnuc_va_list __va_list;" with including stdarg.h, va_list is defined. "typedef __gnuc_va_list va_list;"
* remove configure.am.tpl, pull in VERSION directlyBrent Cook2014-08-123-4/+1
| | | | from wouter@