include


Log

Author Commit Date CI Message
Brent Cook 696ba18c 2015-09-13T18:57:29 fixup windows and older linux builds
Brent Cook 8c90be2a 2015-09-13T11:56:41 allow nc to build on linux and os x
Brent Cook 5dc63037 2015-09-09T06:01:52 remove support for old MSVC versions, KNF
Brent Cook 5f4e95e7 2015-09-08T15:00:09 updates for MSVC 2015's degenerate headers Note that 'perror' moves from stdio.h to stdlib.h, and 'rename' moves from stdio.h to io.h. Also, standard C includes move from the compiler to the Windows SDK, which changes the base path for the include files.
Brent Cook 5ccdd138 2015-09-07T00:31:59 distribute include and man CMakefiles
Jeff Davey 5461dea7 2015-08-18T13:20:19 Add install targets and shared libraries to CMake
Brent Cook a9b16c2d 2015-07-22T09:00:38 correct fallback err.h macro behavior
Brent Cook 9d5eb631 2015-07-21T12:52:29 move sleep shim to posix_win.c
Brent Cook cbdc8ca8 2015-07-21T12:04:07 tighten up compat include paths, fix glibc compatibility
Brent Cook 5d8a1cf7 2014-07-10T22:06:10 add initial CMake and Visual Studio build support This moves the compatibility include files from include to include/compat so we can use the awful MS C compiler <../include/> trick to emulate the GNU #include_next extension. This also removes a few old compat files we do not need anymore.
Brent Cook a1a0f2c6 2015-07-17T16:54:23 implement compatibility shim for __warn_references This will allow us to warn about deprecated function references at link-time.
Brent Cook 8c6ed379 2015-07-02T17:49:03 add compatible version of arpa/nameser.h for Windows
Brent Cook 54545427 2015-06-29T22:51:40 add check for inet_pton, nudge minimum win32 compat to 0x0501
Brent Cook b4a6a615 2015-06-05T04:31:56 refactor win32 shims into posix_win.c this also adds a rename shim that allows overwrites
Brent Cook b239fc25 2015-06-05T03:31:28 all file IO should be binary, auto-append the flag
Brent Cook 3096ab0e 2015-04-14T07:55:23 remove issetuigid wrappers, now that all getenv calls are gone. From deraadt@ upstream: Remove all getenv() calls, especially those wrapped by issetugid(). getenv()'s wrapped by issetugid() are safe, but issetugid() is ... difficult to impliment on many operating systems. By accident, a grand experiment was run over the last year, where issetugid() returned 1 (the safe value) on a few operating systems. Noone noticed & complained that certain environment variables were not working.......
Brent Cook dd646a33 2015-03-18T19:12:42 enable libtls by default The API/ABI for the LibreSSL 2.1.x series is now fixed, so we can safely enable libtls it by default. This is useful for new OpenNTPD and OpenSMTPD releases as well. ok deraadt@ beck@ sthen@
Brent Cook ad7ac48d 2015-02-14T20:03:39 add strsep fallback for libtls
Brent Cook 9909bd7a 2015-01-31T21:52:20 include 'struct iovec' for Windows this is used for in-memory cert loading
Brent Cook b3270494 2014-12-04T22:37:22 add support for building libtls 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@
Brent Cook e83c30c1 2014-11-20T07:32:15 monkey patch more POSIX-like behavior out of winsock 2 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.
Brent Cook cccdd689 2014-11-19T07:43:07 add minimal winsock->BSD networking header shims also add license header to existing shims
Brent Cook 1bbde19a 2014-11-20T00:24:20 add minimal poll(2) implementation for Windows 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
宋冬生 648e9136 2014-11-05T20:52:00 Use _WIN32 instead of __WIN32. ok bcook@
Brent Cook a4cc9539 2014-10-29T15:44:36 Improve and simplify function and header detection logic. 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
kinichiro a91d1013 2014-10-22T15:47:31 update string.h for include strings.h for HPUX environment
inoguchi 6dccbae6 2014-08-12T17:21:48 update stdio.h for including stdarg.h 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;"
Brent Cook 00b51d5c 2014-08-02T21:43:56 conditionally build strnlen if needed. it is only used by strndup prodded by Sortie@
Brent Cook 105da446 2014-07-30T22:16:01 define MAP_ANON for systems with MAP_ANONYMOUS switch the sense of this check
Brent Cook 8d89fb07 2014-07-30T07:07:48 merge endian definitions between AIX/HP-UX/Solaris
inoguchi ff58a2e3 2014-07-30T13:22:00 update include/machine/endian.h for hpux portability. ok bcook@
Brent Cook af705b3f 2014-07-29T07:39:23 add sys/mman.h shim to define MAP_ANON if needed thanks to kinichiro for pointing this out ok deraadt@ beck@
Brent Cook 35e2d8d0 2014-07-28T19:26:15 add asprintf / vasprintf from OpenSSH portable ok deraadt@ beck@
pgmassey 02ad0041 2014-07-25T14:58:53 Update endian.h for AIX/IRIX Added AIX/IRIX compatibility for endian detection. ok bcook@ deraadt@ beck@
Brent Cook 981fc361 2014-07-28T12:09:38 Guard individual compatibility header prototypes. This is to avoid redefining prototypes from the libc headers. Also, simplify the autoconf function checks and remove some copy/paste errors checking for 'write'. ok wouter@
Brent Cook 0a74a4d4 2014-07-27T06:11:56 add strndup/strnlen compat functions from OpenBSD
Brent Cook fb67b92e 2014-07-27T06:10:23 include system headers for err.h compat macros
Brent Cook ea6e7116 2014-07-21T18:57:06 build openbsd memmem implementation for explicit_bzero test memmem is not always available, and not all memmem's work the same way ok beck@ guenther@
Brent Cook 0ec7cdcb 2014-07-21T07:34:01 include err.h shim Includes compatible replacements, or uses system err.h if available. ok beck@ guenther@
Brent Cook 136ddd7a 2014-07-20T13:59:03 update guard, add win32 support for endian.h Thanks to Jonas 'Sortie' Termansen for pointing the guard inconsistency out. ok beck@
Brent Cook 237250e0 2014-07-20T13:32:44 include <_bsd_types.h> on MinGW ok beck@
Brent Cook 8e6009c7 2014-07-10T20:58:58 axe unneeded solaris compatibility definitions
Brent Cook 388a1655 2014-07-10T16:02:49 better fix for __bounded removal
Charlie Root abe7bee3 2014-07-10T08:36:47 Make things build again - add some missing headers ok bcook@
Brent Cook 2b6dbc39 2014-07-10T06:21:51 initial top-level import of subdirectories