apps

Branch


Log

Author Commit Date CI Message
imorgenstern d7a9ca6d 2025-08-28T13:42:04 Fix inconsistencies in accept4.c Fix inconsistencies in accept4.c. If the underlying accept() fails the shim returns the listening socket s instead of −1.
Brent Cook 5d9229b1 2025-06-01T17:24:24 adjust incorrect commit years Co-authored-by: Theo Buehler <botovq@users.noreply.github.com>
Brent Cook 340037f6 2025-06-01T08:20:41 add autotools build copyright headers
Brent Cook c51665d4 2025-06-01T08:11:22 add copyright headers to Cmake files based on original committer and date
Theo Buehler 8dad5fe3 2025-01-02T08:11:30 Update for speed.c and .h churn
Brent Cook 64f15ec5 2024-10-06T18:52:46 use TIMEVAL typedef with select() This prevents the compatibility struct timeval definition in sys/time.h from potentially getting used with select() here. https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-select
Brent Cook 0eceb61c 2024-10-06T18:50:51 for poll timeout -1, set loop time more reasonably Otherwise it sets looptime to -1, which was skipped by select() and caused 100% cpu busy looping.
Theo Buehler 1ff9793d 2024-08-02T22:18:05 Switch to check_symbol_exists() in simplest cases There are a few exceptions. Some require _GNU_SOURCE, some are in the weird strings.h header, some are probably too new to be found in the standard locations. Fixes #1077
Theo Buehler 050b6de7 2024-07-08T00:52:31 spkac.c is no more
Viktor Szakats fccbb9b5 2023-12-14T04:39:35 nc needs compat_obj on some platforms
Viktor Szakats 84895087 2023-12-14T03:36:09 cmake: stop exporting compat functions
Viktor Szakats 89fcb1a3 2023-11-05T08:56:09 also fix ocspcheck and nc, dedupe build logic
Pierre Wendling c4bb6b79 2023-09-12T18:33:46 MSVC: Enable building ocspcheck. - Add `STDIN_FILENO` to compat unistd header. - Use quotes to include compat getopt header in the compat unistd. - Export additional symbols needed by ocspcheck (optarg, optind, ftruncate)
Brent Cook 71ce0b8c 2023-07-04T10:37:24 generate opensslconf.h in build dir for cmake
Brent Cook a316f8ab 2022-12-18T22:10:11 link internal apps statically
Theo Buehler b3c13755 2023-04-25T14:17:25 A handful of files were removed
Brent Cook cfbdf67f 2022-12-18T22:10:11 link internal apps statically
Sebastian Blunt fe903fb7 2022-04-15T23:48:50 Fix unreachable nc portability shim This fixes nc failing to run on darwin due to it incorrectly setting the linux-specific SOCK_NONBLOCK flag on connect. nc already had a portability shim in apps/nc/compat/sys/socket.h, which kicks in if SOCK_NONBLOCK is undefined. But that header includes include/compat/sys/socket.h, which also has a portability shim that defines a default value for SOCK_NONBLOCK if it's undefined. Thus the first portability shim was unreachable. Fixes this by moving the NEED_SOCKET_FLAGS flag into the outer shim, and having the inner shim activate if NEED_SOCKET_FLAGS is defined. This closes https://github.com/libressl-portable/portable/issues/631
kinichiro adde656b 2021-12-26T15:42:47 Add strtonum to compat library and export it crypto library requires strtonum now, and add it to compat library. remove it from applications compat/ directories.
kinichiro c211d97e 2021-12-04T10:49:59 Remove unneeded target_include_directories with cmake This could remove recurring of the same statement for include directories. Instead of this removals, apps/* and tests should have include path that had been provided by INTERFACE_INCLUDE_DIRECTORIES of target libs and internal static libs.
kinichiro 39c7fa8a 2021-05-22T10:58:13 Force cmake to link strtonum shim with Darwin less than 20 check_function_exists misinterprets as if strtonum exists on macos 10.15.
kinichiro 4c56df46 2021-05-02T15:50:37 Statically link libcrypto/ssl into libtls with cmake
Brent Cook 921c0675 2021-04-05T02:32:35 Add '--enable-libtls-only' build option
Brent Cook 9abd36e3 2020-10-18T22:14:03 modify nc build to link libcompat objects directly Rather than assuming the static version of libcrypto exists for pulling in the compatibility functions, link the compat objects directly. This modifies the object file generation script a bit to handle the empty-case properly as well.
Brent Cook 6359d940 2020-10-18T20:47:10 include strtonum for ocspcheck
kinichiro 5a29b047 2020-09-20T13:37:52 Link crypto and ssl object files directly instead of static library - Output object files list variable for libcrypto and libssl to .mk file. - Include object files list variable .mk from tls/Makefile - Link .lo files directly instead of static library for libtls.
Brent Cook fe42a801 2020-08-20T09:30:21 Configure libtls and nc(1) to statically link to libcrypto/ssl An issue that Reyk Floeter noted while building a Debian package for LibreSSL is that installing libtls along with OpenSSL causes linker issues since it will often pick up the wrong libcrypto/libssl. This change makes libtls statically link the object files it needs rather than relying on the shared libraries, effectively making libtls self-contained and able to be packaged independently. This should make it possible for other projects that also use libtls to be able to package support without requiring the target OS to ship libcrypto / libssl from LibreSSL. https://salsa.debian.org/reyk-guest/libressl/-/commit/678278df55ce866f2f363998ca690442fa786c66
kinichiro 6dc8d2be 2020-01-09T21:33:28 Install ocspcheck.8 manual
Brent Cook 73fb0f89 2019-11-07T18:24:37 re-add CMS to openssl(1)
kinichiro 30e91bc6 2019-07-14T18:37:59 Enable speed on win32 - Use thread and sleep instead of signal and alarm, on win32 - Disable -multi option on win32 since fork is hard to implement
paul4334 a7265dd1 2019-04-30T16:35:04 Fix MacOSX cmake missing symbol _clock_gettime On El Capitan: [exec] [100%] Linking C executable openssl [exec] Undefined symbols for architecture x86_64: [exec] "_clock_gettime", referenced from: [exec] _app_timer_real in apps_posix.c.o [exec] ld: symbol(s) not found for architecture x86_64 [exec] clang: error: linker command failed with exit code 1 (use -v to see invocation) [exec] make[2]: *** [apps/openssl/openssl] Error 1 [exec] make[1]: *** [apps/openssl/CMakeFiles/openssl.dir/all] Error 2 [exec] make: *** [all] Error 2
Brent Cook b7a580e8 2018-09-23T14:04:26 implement app_timer_real
Brent Cook bf368e58 2018-06-14T05:59:20 add private includes for apps and tests
Brent Cook 4fcfc82d 2018-05-29T05:44:34 scope private/public headers when embedding into other projects thanks to Cameron Palmer
Brent Cook 6b513a1c 2018-03-23T13:45:05 add proper guard and typedef
Brent Cook 4b2a8cd1 2018-03-23T11:10:16 adjust definition of compat clock_gettime
Brent Cook 987aa6a0 2018-03-22T20:50:24 add clock_gettime for macos 10.11 and earlier
Don 09590953 2018-03-16T14:59:53 Remove CMAKE_HOST_ references CMAKE_HOST_ describes the host system not the target. For cross compilation to work the actual target system should be used for making decisions in CMake.
Brent Cook 3fb9e63b 2018-03-14T07:29:04 bump base requirement to Windows Vista, use builtin inet_ntop/pton
kinichiro 82ce5983 2017-12-26T22:49:01 Add app_timer_user for Windows build
Aric Belsito 653ba217 2017-11-06T11:52:03 Create correct directory in CMake install. Was creating ${CONFDIR}/cert instead of ${CONFDIR}/certs.
kinichiro 9bb3e037 2017-09-26T22:02:21 Fix checking memmem in apps/ocspcheck/CMakeLists.txt - Issue #352 pointed out by @d3x0r
Brent Cook 4916f940 2017-08-13T16:09:32 use standard initialization for poll loop delay
d3x0r a4d80ca5 2017-07-06T23:11:11 Merge branch 'master' of https://github.com/libressl-portable/portable into SkipInstall Fix merge conflicts from GNUInstallDirs merge to master.
d3x0r 2557dd74 2017-07-06T02:09:44 Add option LIBRESSL_SKIP_INSTALL Internally LIBRESSL_SKIP_INSTALL, if not set becomes ENABLE_LIBRESSL_INSTALL so this by default is enabled. defining LIBRESSL_SKIP_INSTALL before hand will disable all install() rules. This is useful if another project includes and links to this statically. I chose to add a prefix to avoid potential name collision because the options are cached globally. If the installation is skipped, maybe it should also disable building apps? I didn't do that.
d3x0r a2bd5eba 2017-07-06T01:49:43 use GNUInstallDirs from cmake to specify install paths. Primarily this is to select whether 'lib64' or 'lib' is used on linux type systems.
Brent Cook 9d2418ae 2017-04-12T08:18:20 add nc(1) manpage to install if enabled
kinichiro 58eb645f 2017-01-28T03:40:38 Copy libc compat files rather than adding into the repository - remove the CP_LIBC files from repo - move tests/memmem.c to tests/compat/
Brent Cook cb57534a 2017-01-27T07:14:43 skip building ocspcheck on MSCV
kinichiro 05cf1ee6 2017-01-27T01:21:37 Copy openbsd library file every time rather than statically checking in
kinichiro 7dd0650d 2017-01-26T13:58:27 Add inet_ntop and memmem for ocspcheck
kinichiro 91a8bd79 2017-01-25T19:37:29 Move strsep.c to crypto/compat/ and add ocspcheck build to CMake
Brent Cook 93754dc5 2017-01-24T06:06:07 initial ocspcheck integration
Brent Cook c6914595 2017-01-09T02:22:26 fix static mingw builds, platform LDADD needs to come at the end
kinichiro 332c2eea 2016-10-20T18:16:05 remove unneeded slash after DESTDIR
Brent Cook df207699 2016-09-14T08:49:53 remove cms
Brent Cook 9e25f758 2016-08-13T11:42:21 remove DEFAULT_CA_FILE patch, since libtls handles this by default
Brent Cook b13529f7 2016-07-09T12:40:22 Revert "remove DEFAULT_CA_FILE patch, since libtls handles this by default" This reverts commit 30adf9c06e8d3d7ac9e89f4b2b290567bcafa75c.
Brent Cook 30adf9c0 2016-07-07T07:27:39 remove DEFAULT_CA_FILE patch, since libtls handles this by default
Brent Cook 552817b7 2016-05-02T02:03:03 Land #192, fix fix ld warning "attempted multiple inclusion of file" on Solaris
kinichiro 02e1cc4d 2016-04-21T14:49:39 fix ld warning "attempted multiple inclusion of file" on Solaris - To avoid ld warning on Solaris, use abs_top_builddir in Makefile.am
kinichiro bda62f7f 2016-04-11T12:59:23 add cmake build options - add cmake build options as configure provides * -DENABLE_ASM (default ON) * -DENABLE_EXTRATESTS (default OFF) * -DENABLE_NC (default OFF) * -DOPENSSLDIR (default ${CMAKE_INSTALL_PREFIX}/etc/ssl) - add biotest and pidwraptest if ENABLE_EXTRATESTS is ON - add compiler flag `-fno-common` if CMAKE_SYSTEM_NAME is Darwin to prevent link error Undefined symbols "_OPENSSL_ia32cap_P"
kinichiro 2510a5e6 2016-04-07T15:08:12 modify cmake to build nc - modify structure of CMakeLists.txt under apps/ * move apps/CMakeLists.txt to apps/openssl/ since this is for openssl build * create new apps/nc/CMakeLists.txt for nc build * modify apps/CMakeLists.txt just add_subdirectory() - add checking and compile of arc4random_uniform() - add installing man files, openssl.1 and nc.1
Brent Cook 28aaab43 2015-12-07T08:14:51 allow optionally installing nc(1) with '--enable-nc'
Brent Cook 1988b8f6 2015-12-07T07:55:05 fixup cert.pem path override for libtls, add for nc(1) this also fixes the formatting of help for nc(1)
Brent Cook 7109fb32 2015-11-23T02:06:03 ensure we don't pass a negative int to ctypes functions Some implementations, e.g. cygwin, use a table lookup that can cast a char to a negative array offset.
Brent Cook 0086809a 2015-10-18T10:48:17 update apps.h include
Brent Cook 0197a589 2015-10-18T09:28:10 Windows compatibility fixes VS2013 has trouble with relative include paths for apps/openssl, so move certhash_win/apps_win.c back to apps/openssl. gmtime_r on mingw64 fails with negative time_t, override gmtime_s fails all of the time unit tests, override SHUT_RD/WR are defined in newer mingw64 headers, check before overriding
Jeremy Huddleston Sequoia 9afc4527 2015-10-11T16:45:25 nc: Use AM_CPPFLAGS, not CPPFLAGS in Makefile.am CPPFLAGS should just be set by the user at configure time Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Brent Cook a7f031ba 2015-10-01T07:40:26 add b64_ntop checking and fallback for nc(1)
Brent Cook 630e7b60 2015-09-18T08:43:57 visual studio path updates
Brent Cook c7ae7c0c 2015-09-13T19:15:34 fix a library paths, nc patch
Brent Cook eaa4c1cc 2015-09-13T19:06:29 a few more linux nc build tweaks
Brent Cook 8c90be2a 2015-09-13T11:56:41 allow nc to build on linux and os x
Brent Cook a896d400 2015-09-13T09:19:26 move windows file IO mode setup to apps_win.c
Brent Cook 02b7539c 2015-09-13T07:23:04 readd openssl.1, distribute nc.1
Brent Cook a787f964 2015-09-12T10:51:11 restrict nc to openbsd builds for now
Brent Cook dcbaa6b6 2015-09-12T10:15:00 correct nc compat path
Brent Cook a64c42a0 2015-09-12T09:50:44 add some backcompat in nc, don't install it
Brent Cook 854f4f69 2015-09-12T07:48:06 add 'nc' to the distribution as an example of libtls client and server
Brent Cook c5eef7f1 2015-09-11T18:52:22 remove engine.c from CMake
Brent Cook 6db3fc7c 2015-09-11T09:47:40 remove engine from openssl(1)
Jeff Davey 5461dea7 2015-08-18T13:20:19 Add install targets and shared libraries to CMake
Brent Cook a9122f74 2015-07-21T22:21:14 add cmake tests
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 db974c34 2015-07-15T20:00:21 fixup how OPENSSLDIR is derived and expanded As per http://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Installation-Directory-Variables.html we should not try to expand variables like sysconfdir in the configure script, but rather derive the correct value in the Makefiles instead. This fixes missing expansions as the preprocessor define.
Brent Cook bda20bd1 2015-07-11T14:23:44 Improve automatic handling of OPENSSLDIR Install a default cert.pem, openssl.cnf, x509v3.cnf in OPENSSLDIR, which is derived by default from sysconfdir and the prefix setting.
Brent Cook ad2a38ab 2015-03-22T06:18:18 rework CFLAGS/CPPFLAGS settings during configuration Move define adjustments to CPPFLAGS. Adjust user CFLAGS directly, do not override during configuration. USER_CFLAGS is not necessary to build libcompat_noopt correctly.
Brent Cook 148aebdb 2015-03-08T16:39:48 fix hangs reading stdin on Windows
Brent Cook 28311d43 2015-02-14T18:51:44 conditionally build certhash into openssl(1) For now, look for openat and symlink. We may switch to just needing symlink later.
Brent Cook 5e96c047 2015-02-11T20:50:10 add the new openssl(1) certhash command
Brent Cook 9adc6d64 2014-12-27T16:52:25 Revert "do not double-link libcrypto" This reverts commit c83d468cfd5d3ca60a499b69c0b7c9d0b159d405. It wasn't as superfluous as I thought on all platforms.
Brent Cook c83d468c 2014-12-27T16:34:48 do not double-link libcrypto libssl already has LIBFLAGS for libcrypto, so adding -lcrypto is superfluous.
Brent Cook 13035fa6 2014-12-06T11:20:56 simplify building the apps Makefile Remove extra machinery in favor of a plain-old Makefile.am. Tighten up what files are copied on build, package a simple openssl.cnf.
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
Brent Cook 58fcd3c3 2014-11-20T00:26:55 Add conditional compilation for windows and posix functions. This adds a Windows-specific versions of several symbols from libcrypto and openssl(1).
Brent Cook 2103690c 2014-11-19T22:02:17 improve readability of generated Makefile.am files
Brent Cook 0aeb93b9 2014-10-27T19:22:03 override native arc4random_buf on FreeBSD 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@
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
Brent Cook 4335a49f 2014-07-21T05:40:28 use correct link order for app and tests ok beck@ guenther@