uringmachine 0.16 → 0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +3 -0
  3. data/.gitmodules +4 -0
  4. data/CHANGELOG.md +8 -0
  5. data/TODO.md +12 -3
  6. data/examples/bm_send.rb +86 -0
  7. data/ext/um/um.c +28 -1
  8. data/ext/um/um.h +3 -0
  9. data/ext/um/um_class.c +17 -0
  10. data/ext/um/um_utils.c +38 -15
  11. data/lib/uringmachine/version.rb +1 -1
  12. data/test/test_um.rb +76 -0
  13. data/vendor/libressl/.github/scripts/changelog.sh +74 -0
  14. data/vendor/libressl/.github/workflows/android.yml +35 -0
  15. data/vendor/libressl/.github/workflows/cifuzz.yml +33 -0
  16. data/vendor/libressl/.github/workflows/cmake-config.yml +98 -0
  17. data/vendor/libressl/.github/workflows/coverity.yml +69 -0
  18. data/vendor/libressl/.github/workflows/emscripten.yml +71 -0
  19. data/vendor/libressl/.github/workflows/fedora-rawhide.yml +39 -0
  20. data/vendor/libressl/.github/workflows/freebsd.yml +71 -0
  21. data/vendor/libressl/.github/workflows/linux.yml +71 -0
  22. data/vendor/libressl/.github/workflows/macos.yml +37 -0
  23. data/vendor/libressl/.github/workflows/release.yml +81 -0
  24. data/vendor/libressl/.github/workflows/rust-openssl.yml +47 -0
  25. data/vendor/libressl/.github/workflows/solaris.yml +37 -0
  26. data/vendor/libressl/.github/workflows/windows.yml +70 -0
  27. data/vendor/libressl/.gitignore +333 -0
  28. data/vendor/libressl/CMakeLists.txt +581 -0
  29. data/vendor/libressl/COPYING +133 -0
  30. data/vendor/libressl/ChangeLog +3280 -0
  31. data/vendor/libressl/FindLibreSSL.cmake +232 -0
  32. data/vendor/libressl/LibreSSLConfig.cmake.in +36 -0
  33. data/vendor/libressl/Makefile.am +60 -0
  34. data/vendor/libressl/Makefile.am.common +20 -0
  35. data/vendor/libressl/OPENBSD_BRANCH +1 -0
  36. data/vendor/libressl/README.md +238 -0
  37. data/vendor/libressl/README.mingw.md +43 -0
  38. data/vendor/libressl/apps/CMakeLists.txt +18 -0
  39. data/vendor/libressl/apps/Makefile.am +5 -0
  40. data/vendor/libressl/apps/nc/CMakeLists.txt +67 -0
  41. data/vendor/libressl/apps/nc/Makefile.am +64 -0
  42. data/vendor/libressl/apps/nc/compat/accept4.c +17 -0
  43. data/vendor/libressl/apps/nc/compat/readpassphrase.c +205 -0
  44. data/vendor/libressl/apps/nc/compat/socket.c +29 -0
  45. data/vendor/libressl/apps/nc/compat/sys/socket.h +30 -0
  46. data/vendor/libressl/apps/ocspcheck/CMakeLists.txt +44 -0
  47. data/vendor/libressl/apps/ocspcheck/Makefile.am +45 -0
  48. data/vendor/libressl/apps/ocspcheck/compat/.gitignore +0 -0
  49. data/vendor/libressl/apps/openssl/CMakeLists.txt +97 -0
  50. data/vendor/libressl/apps/openssl/Makefile.am +108 -0
  51. data/vendor/libressl/apps/openssl/apps_win.c +138 -0
  52. data/vendor/libressl/apps/openssl/certhash_win.c +13 -0
  53. data/vendor/libressl/apps/openssl/compat/clock_gettime_osx.c +26 -0
  54. data/vendor/libressl/apps/openssl/compat/poll_win.c +329 -0
  55. data/vendor/libressl/appveyor.yml +53 -0
  56. data/vendor/libressl/autogen.sh +15 -0
  57. data/vendor/libressl/check-release.sh +86 -0
  58. data/vendor/libressl/cmake_export_symbol.cmake +71 -0
  59. data/vendor/libressl/cmake_uninstall.cmake.in +36 -0
  60. data/vendor/libressl/config +17 -0
  61. data/vendor/libressl/configure.ac +165 -0
  62. data/vendor/libressl/crypto/CMakeLists.txt +863 -0
  63. data/vendor/libressl/crypto/Makefile.am +962 -0
  64. data/vendor/libressl/crypto/Makefile.am.arc4random +46 -0
  65. data/vendor/libressl/crypto/Makefile.am.elf-mips +14 -0
  66. data/vendor/libressl/crypto/Makefile.am.elf-mips64 +14 -0
  67. data/vendor/libressl/crypto/Makefile.am.elf-x86_64 +35 -0
  68. data/vendor/libressl/crypto/Makefile.am.macosx-x86_64 +35 -0
  69. data/vendor/libressl/crypto/Makefile.am.masm-x86_64 +22 -0
  70. data/vendor/libressl/crypto/Makefile.am.mingw64-x86_64 +23 -0
  71. data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_darwin.c +60 -0
  72. data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_linux.c +62 -0
  73. data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_none.c +26 -0
  74. data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_windows.c +36 -0
  75. data/vendor/libressl/crypto/arch/loongarch64/crypto_arch.h +21 -0
  76. data/vendor/libressl/crypto/arch/mips/crypto_arch.h +21 -0
  77. data/vendor/libressl/crypto/bn/arch/loongarch64/bn_arch.h +23 -0
  78. data/vendor/libressl/crypto/bn/arch/mips/bn_arch.h +24 -0
  79. data/vendor/libressl/crypto/compat/.gitignore +31 -0
  80. data/vendor/libressl/crypto/compat/arc4random.h +41 -0
  81. data/vendor/libressl/crypto/compat/b_win.c +55 -0
  82. data/vendor/libressl/crypto/compat/bsd-asprintf.c +96 -0
  83. data/vendor/libressl/crypto/compat/crypto_lock_win.c +56 -0
  84. data/vendor/libressl/crypto/compat/explicit_bzero_win.c +13 -0
  85. data/vendor/libressl/crypto/compat/freezero.c +32 -0
  86. data/vendor/libressl/crypto/compat/getdelim.c +78 -0
  87. data/vendor/libressl/crypto/compat/getline.c +40 -0
  88. data/vendor/libressl/crypto/compat/getopt_long.c +528 -0
  89. data/vendor/libressl/crypto/compat/getpagesize.c +18 -0
  90. data/vendor/libressl/crypto/compat/getprogname_linux.c +23 -0
  91. data/vendor/libressl/crypto/compat/getprogname_unimpl.c +7 -0
  92. data/vendor/libressl/crypto/compat/getprogname_windows.c +13 -0
  93. data/vendor/libressl/crypto/compat/posix_win.c +296 -0
  94. data/vendor/libressl/crypto/compat/syslog_r.c +19 -0
  95. data/vendor/libressl/crypto/compat/ui_openssl_win.c +334 -0
  96. data/vendor/libressl/dist.sh +22 -0
  97. data/vendor/libressl/gen-coverage-report.sh +58 -0
  98. data/vendor/libressl/gen-openbsd-tags.sh +20 -0
  99. data/vendor/libressl/include/CMakeLists.txt +61 -0
  100. data/vendor/libressl/include/Makefile.am +79 -0
  101. data/vendor/libressl/include/arch/loongarch64/opensslconf.h +150 -0
  102. data/vendor/libressl/include/arch/mips/opensslconf.h +150 -0
  103. data/vendor/libressl/include/compat/arpa/inet.h +15 -0
  104. data/vendor/libressl/include/compat/arpa/nameser.h +25 -0
  105. data/vendor/libressl/include/compat/cet.h +19 -0
  106. data/vendor/libressl/include/compat/dirent.h +17 -0
  107. data/vendor/libressl/include/compat/dirent_msvc.h +611 -0
  108. data/vendor/libressl/include/compat/endian.h +161 -0
  109. data/vendor/libressl/include/compat/err.h +95 -0
  110. data/vendor/libressl/include/compat/fcntl.h +32 -0
  111. data/vendor/libressl/include/compat/getopt.h +50 -0
  112. data/vendor/libressl/include/compat/limits.h +25 -0
  113. data/vendor/libressl/include/compat/netdb.h +10 -0
  114. data/vendor/libressl/include/compat/netinet/in.h +19 -0
  115. data/vendor/libressl/include/compat/netinet/ip.h +49 -0
  116. data/vendor/libressl/include/compat/netinet/tcp.h +10 -0
  117. data/vendor/libressl/include/compat/poll.h +63 -0
  118. data/vendor/libressl/include/compat/pthread.h +122 -0
  119. data/vendor/libressl/include/compat/readpassphrase.h +44 -0
  120. data/vendor/libressl/include/compat/resolv.h +24 -0
  121. data/vendor/libressl/include/compat/stdint.h +31 -0
  122. data/vendor/libressl/include/compat/stdio.h +65 -0
  123. data/vendor/libressl/include/compat/stdlib.h +57 -0
  124. data/vendor/libressl/include/compat/string.h +98 -0
  125. data/vendor/libressl/include/compat/sys/_null.h +18 -0
  126. data/vendor/libressl/include/compat/sys/ioctl.h +11 -0
  127. data/vendor/libressl/include/compat/sys/mman.h +19 -0
  128. data/vendor/libressl/include/compat/sys/param.h +15 -0
  129. data/vendor/libressl/include/compat/sys/queue.h +536 -0
  130. data/vendor/libressl/include/compat/sys/select.h +10 -0
  131. data/vendor/libressl/include/compat/sys/socket.h +18 -0
  132. data/vendor/libressl/include/compat/sys/stat.h +129 -0
  133. data/vendor/libressl/include/compat/sys/time.h +37 -0
  134. data/vendor/libressl/include/compat/sys/tree.h +1006 -0
  135. data/vendor/libressl/include/compat/sys/types.h +69 -0
  136. data/vendor/libressl/include/compat/sys/uio.h +17 -0
  137. data/vendor/libressl/include/compat/syslog.h +38 -0
  138. data/vendor/libressl/include/compat/time.h +59 -0
  139. data/vendor/libressl/include/compat/unistd.h +83 -0
  140. data/vendor/libressl/include/compat/win32netcompat.h +57 -0
  141. data/vendor/libressl/include/openssl/Makefile.am.tpl +45 -0
  142. data/vendor/libressl/libcrypto.pc.in +28 -0
  143. data/vendor/libressl/libressl.pub +2 -0
  144. data/vendor/libressl/libssl.pc.in +28 -0
  145. data/vendor/libressl/libtls.pc.in +28 -0
  146. data/vendor/libressl/m4/ax_add_fortify_source.m4 +80 -0
  147. data/vendor/libressl/m4/ax_check_compile_flag.m4 +53 -0
  148. data/vendor/libressl/m4/check-hardening-options.m4 +110 -0
  149. data/vendor/libressl/m4/check-libc.m4 +189 -0
  150. data/vendor/libressl/m4/check-os-options.m4 +181 -0
  151. data/vendor/libressl/m4/disable-compiler-warnings.m4 +44 -0
  152. data/vendor/libressl/man/CMakeLists.txt +26 -0
  153. data/vendor/libressl/man/links +2780 -0
  154. data/vendor/libressl/man/update_links.sh +25 -0
  155. data/vendor/libressl/openssl.pc.in +11 -0
  156. data/vendor/libressl/patches/bn_shift.patch +34 -0
  157. data/vendor/libressl/patches/crypto_arch.h.patch +34 -0
  158. data/vendor/libressl/patches/crypto_namespace.h.patch +22 -0
  159. data/vendor/libressl/patches/netcat.c.patch +178 -0
  160. data/vendor/libressl/patches/openssl.c.patch +12 -0
  161. data/vendor/libressl/patches/opensslfeatures.h.patch +49 -0
  162. data/vendor/libressl/patches/patch-amd64-crypto-cpu-caps.c.patch +20 -0
  163. data/vendor/libressl/patches/patch-i386-crypto-cpu-caps.c.patch +20 -0
  164. data/vendor/libressl/patches/speed.c.patch +114 -0
  165. data/vendor/libressl/patches/ssl_namespace.h.patch +21 -0
  166. data/vendor/libressl/patches/tls.h.patch +16 -0
  167. data/vendor/libressl/patches/tls_config.c.patch +15 -0
  168. data/vendor/libressl/patches/win32_amd64_bn_arch.h.patch +28 -0
  169. data/vendor/libressl/patches/windows_headers.patch +80 -0
  170. data/vendor/libressl/scripts/config.guess +1774 -0
  171. data/vendor/libressl/scripts/config.sub +1907 -0
  172. data/vendor/libressl/scripts/i686-w64-mingw32.cmake +9 -0
  173. data/vendor/libressl/scripts/test +210 -0
  174. data/vendor/libressl/scripts/wrap-compiler-for-flag-check +31 -0
  175. data/vendor/libressl/scripts/x86_64-w64-mingw32.cmake +9 -0
  176. data/vendor/libressl/ssl/CMakeLists.txt +183 -0
  177. data/vendor/libressl/ssl/Makefile.am +187 -0
  178. data/vendor/libressl/tests/CMakeLists.txt +970 -0
  179. data/vendor/libressl/tests/Makefile.am +944 -0
  180. data/vendor/libressl/tests/aeadtest.sh +30 -0
  181. data/vendor/libressl/tests/arc4randomforktest.sh +21 -0
  182. data/vendor/libressl/tests/asn1time_small.test +10 -0
  183. data/vendor/libressl/tests/cmake/CMakeLists.txt +52 -0
  184. data/vendor/libressl/tests/cmake/crypto.c +7 -0
  185. data/vendor/libressl/tests/cmake/ssl.c +6 -0
  186. data/vendor/libressl/tests/cmake/tls.c +6 -0
  187. data/vendor/libressl/tests/compat/pipe2.c +186 -0
  188. data/vendor/libressl/tests/dtlstest.sh +28 -0
  189. data/vendor/libressl/tests/evptest.sh +22 -0
  190. data/vendor/libressl/tests/keypairtest.sh +27 -0
  191. data/vendor/libressl/tests/mlkem_tests.sh +39 -0
  192. data/vendor/libressl/tests/ocsptest.bat +25 -0
  193. data/vendor/libressl/tests/ocsptest.sh +23 -0
  194. data/vendor/libressl/tests/openssl.cnf +29 -0
  195. data/vendor/libressl/tests/optionstest.c +381 -0
  196. data/vendor/libressl/tests/pidwraptest.c +85 -0
  197. data/vendor/libressl/tests/pidwraptest.sh +26 -0
  198. data/vendor/libressl/tests/quictest.bat +27 -0
  199. data/vendor/libressl/tests/quictest.sh +30 -0
  200. data/vendor/libressl/tests/renegotiation_test.bat +27 -0
  201. data/vendor/libressl/tests/renegotiation_test.sh +30 -0
  202. data/vendor/libressl/tests/rfc5280time_small.test +10 -0
  203. data/vendor/libressl/tests/servertest.bat +27 -0
  204. data/vendor/libressl/tests/servertest.sh +30 -0
  205. data/vendor/libressl/tests/shutdowntest.bat +27 -0
  206. data/vendor/libressl/tests/shutdowntest.sh +30 -0
  207. data/vendor/libressl/tests/ssltest.bat +32 -0
  208. data/vendor/libressl/tests/ssltest.sh +48 -0
  209. data/vendor/libressl/tests/testdsa.bat +47 -0
  210. data/vendor/libressl/tests/testdsa.sh +57 -0
  211. data/vendor/libressl/tests/testenc.bat +85 -0
  212. data/vendor/libressl/tests/testenc.sh +93 -0
  213. data/vendor/libressl/tests/testrsa.bat +47 -0
  214. data/vendor/libressl/tests/testrsa.sh +57 -0
  215. data/vendor/libressl/tests/testssl.bat +171 -0
  216. data/vendor/libressl/tests/tlstest.bat +27 -0
  217. data/vendor/libressl/tests/tlstest.sh +28 -0
  218. data/vendor/libressl/tls/CMakeLists.txt +125 -0
  219. data/vendor/libressl/tls/Makefile.am +76 -0
  220. data/vendor/libressl/tls/compat/ftruncate.c +17 -0
  221. data/vendor/libressl/tls/compat/pread.c +29 -0
  222. data/vendor/libressl/tls/compat/pwrite.c +29 -0
  223. data/vendor/libressl/update.sh +460 -0
  224. data/vendor/liburing/.github/workflows/ci.yml +8 -0
  225. data/vendor/liburing/configure +23 -2
  226. data/vendor/liburing/examples/helpers.c +1 -1
  227. data/vendor/liburing/examples/helpers.h +1 -1
  228. data/vendor/liburing/examples/reg-wait.c +3 -3
  229. data/vendor/liburing/examples/zcrx.c +5 -5
  230. data/vendor/liburing/liburing.spec +1 -1
  231. data/vendor/liburing/src/include/liburing/io_uring.h +16 -0
  232. data/vendor/liburing/src/include/liburing.h +20 -4
  233. data/vendor/liburing/src/lib.h +2 -4
  234. data/vendor/liburing/src/liburing-ffi.map +7 -0
  235. data/vendor/liburing/src/liburing.map +7 -0
  236. data/vendor/liburing/src/register.c +5 -0
  237. data/vendor/liburing/src/sanitize.c +5 -4
  238. data/vendor/liburing/src/setup.c +43 -28
  239. data/vendor/liburing/test/Makefile +7 -0
  240. data/vendor/liburing/test/cmd-discard.c +2 -2
  241. data/vendor/liburing/test/evfd-short-read.c +84 -0
  242. data/vendor/liburing/test/fdinfo-sqpoll.c +117 -0
  243. data/vendor/liburing/test/fdinfo.c +1 -1
  244. data/vendor/liburing/test/fixed-buf-merge.c +2 -2
  245. data/vendor/liburing/test/futex-kill.c +135 -0
  246. data/vendor/liburing/test/helpers.c +1 -1
  247. data/vendor/liburing/test/helpers.h +1 -1
  248. data/vendor/liburing/test/init-mem.c +50 -12
  249. data/vendor/liburing/test/io_uring_passthrough.c +25 -6
  250. data/vendor/liburing/test/msg-ring.c +123 -9
  251. data/vendor/liburing/test/recv-bundle-short-ooo.c +16 -1
  252. data/vendor/liburing/test/recv-inc-ooo.c +411 -0
  253. data/vendor/liburing/test/recv-mshot-fair.c +513 -0
  254. data/vendor/liburing/test/reg-wait.c +14 -14
  255. data/vendor/liburing/test/send-zerocopy.c +4 -4
  256. data/vendor/liburing/test/timerfd-short-read.c +81 -0
  257. data/vendor/liburing/test/timestamp.c +382 -0
  258. data/vendor/liburing/test/zcrx.c +22 -22
  259. metadata +222 -2
@@ -0,0 +1,86 @@
1
+ #!/bin/sh
2
+ #
3
+ # Copyright (c) 2014 Brent Cook
4
+ #
5
+ # Permission to use, copy, modify, and distribute this software for any
6
+ # purpose with or without fee is hereby granted, provided that the above
7
+ # copyright notice and this permission notice appear in all copies.
8
+ #
9
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16
+
17
+ set -e
18
+
19
+ ver=$1
20
+ dir=libressl-$ver
21
+ tarball=$dir.tar.gz
22
+ tag=v$ver
23
+
24
+ if [ -z "$LIBRESSL_SSH" ]; then
25
+ if ! curl -v 1>/dev/null 2>&1; then
26
+ download="curl -O"
27
+ elif echo quit | ftp 1>/dev/null 2>&1; then
28
+ download=ftp
29
+ else
30
+ echo "need 'ftp' or 'curl' to verify"
31
+ exit
32
+ fi
33
+ fi
34
+
35
+ if [ "$ver" = "" ]; then
36
+ echo "please specify a version to check, e.g. $0 2.1.2"
37
+ exit
38
+ fi
39
+
40
+ if [ ! -e releases/$tarball ]; then
41
+ mkdir -p releases
42
+ rm -f $tarball
43
+ if [ -z "$LIBRESSL_SSH" ]; then
44
+ $download https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/$tarball releases/
45
+ mv $tarball releases
46
+ else
47
+ scp $LIBRESSL_SSH/$tarball releases
48
+ fi
49
+ (cd releases; tar zxvf $tarball)
50
+ fi
51
+
52
+ if [ ! -e gen-releases/$tarball ]; then
53
+ rm -fr tests man include ssl crypto libtls-standalone/VERSION INSTALL
54
+ git checkout OPENBSD_BRANCH update.sh tests man include ssl crypto
55
+ git checkout $tag
56
+ echo "libressl-$tag" > OPENBSD_BRANCH
57
+ sed -i 's/git pull --rebase//' update.sh
58
+ ./autogen.sh
59
+ ./configure --enable-libtls
60
+ make dist
61
+
62
+ mkdir -p gen-releases
63
+ mv $tarball gen-releases
64
+
65
+ git checkout OPENBSD_BRANCH update.sh
66
+ git checkout master
67
+ fi
68
+
69
+ (cd gen-releases; rm -fr $dir; tar zxf $tarball)
70
+ (cd releases; rm -fr $dir; tar zxf $tarball)
71
+
72
+ echo "differences between release and regenerated release tag:"
73
+ diff -urN \
74
+ -x *.3 \
75
+ -x *.5 \
76
+ -x Makefile.in \
77
+ -x aclocal.m4 \
78
+ -x compile \
79
+ -x config.guess \
80
+ -x config.sub \
81
+ -x configure \
82
+ -x depcomp \
83
+ -x install-sh \
84
+ -x missing \
85
+ -x test-driver \
86
+ releases/$dir gen-releases/$dir
@@ -0,0 +1,71 @@
1
+ #
2
+ # Copyright (c) 2017 Kinichiro Inoguchi
3
+ #
4
+ # Permission to use, copy, modify, and distribute this software for any
5
+ # purpose with or without fee is hereby granted, provided that the above
6
+ # copyright notice and this permission notice appear in all copies.
7
+ #
8
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
+
16
+ macro(export_symbol TARGET SYMBOLS_PATH)
17
+
18
+ set(FLAG "")
19
+ get_filename_component(FILENAME ${SYMBOLS_PATH} NAME)
20
+
21
+ if(WIN32)
22
+ string(REPLACE ".sym" ".def" DEF_FILENAME ${FILENAME})
23
+ file(TO_CMAKE_PATH "${CMAKE_CURRENT_BINARY_DIR}/${DEF_FILENAME}" DEF_PATH)
24
+ file(WRITE ${DEF_PATH} "EXPORTS\n")
25
+ file(READ ${SYMBOLS_PATH} SYMBOLS)
26
+ file(APPEND ${DEF_PATH} "${SYMBOLS}")
27
+ target_sources(${TARGET} PRIVATE ${DEF_PATH})
28
+
29
+ elseif(APPLE)
30
+ file(READ ${SYMBOLS_PATH} SYMBOLS)
31
+ string(REGEX REPLACE "\n$" "" SYMBOLS ${SYMBOLS})
32
+ string(REPLACE "\n" "\n_" SYMBOLS ${SYMBOLS})
33
+ string(REGEX REPLACE "(.)$" "\\1\\n" SYMBOLS ${SYMBOLS})
34
+ string(REPLACE ".sym" ".exp" EXP_FILENAME ${FILENAME})
35
+ file(TO_CMAKE_PATH "${CMAKE_CURRENT_BINARY_DIR}/${EXP_FILENAME}" EXP_PATH)
36
+ file(WRITE ${EXP_PATH} "_${SYMBOLS}")
37
+ set(FLAG "-exported_symbols_list ${EXP_PATH}")
38
+ set_target_properties(${TARGET} PROPERTIES LINK_FLAGS ${FLAG})
39
+
40
+ elseif(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
41
+ file(READ ${SYMBOLS_PATH} SYMBOLS)
42
+ string(REGEX REPLACE "\n$" "" SYMBOLS ${SYMBOLS})
43
+ string(REPLACE "\n" "\n+e " SYMBOLS ${SYMBOLS})
44
+ string(REPLACE ".sym" ".opt" OPT_FILENAME ${FILENAME})
45
+ file(TO_CMAKE_PATH "${CMAKE_CURRENT_BINARY_DIR}/${OPT_FILENAME}" OPT_PATH)
46
+ file(WRITE ${OPT_PATH} "+e ${SYMBOLS}")
47
+ set(FLAG "-Wl,-c,${OPT_PATH}")
48
+ set_target_properties(${TARGET} PROPERTIES LINK_FLAGS ${FLAG})
49
+
50
+ elseif(CMAKE_SYSTEM_NAME MATCHES "SunOS")
51
+ file(READ ${SYMBOLS_PATH} SYMBOLS)
52
+ string(REPLACE "\n" ";\n" SYMBOLS ${SYMBOLS})
53
+ string(REPLACE ".sym" ".ver" VER_FILENAME ${FILENAME})
54
+ file(TO_CMAKE_PATH "${CMAKE_CURRENT_BINARY_DIR}/${VER_FILENAME}" VER_PATH)
55
+ file(WRITE ${VER_PATH}
56
+ "{\nglobal:\n${SYMBOLS}\nlocal:\n*;\n};\n")
57
+ set(FLAG "-Wl,-M${VER_PATH}")
58
+ set_target_properties(${TARGET} PROPERTIES LINK_FLAGS ${FLAG})
59
+
60
+ elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
61
+ file(READ ${SYMBOLS_PATH} SYMBOLS)
62
+ string(REPLACE "\n" ";\n" SYMBOLS ${SYMBOLS})
63
+ string(REPLACE ".sym" ".ver" VER_FILENAME ${FILENAME})
64
+ file(TO_CMAKE_PATH "${CMAKE_CURRENT_BINARY_DIR}/${VER_FILENAME}" VER_PATH)
65
+ file(WRITE ${VER_PATH}
66
+ "{\nglobal:\n${SYMBOLS}\nlocal:\n*;\n};\n")
67
+ set(FLAG "-Wl,--version-script,\"${VER_PATH}\"")
68
+ set_target_properties(${TARGET} PROPERTIES LINK_FLAGS ${FLAG})
69
+ endif()
70
+
71
+ endmacro()
@@ -0,0 +1,36 @@
1
+ #
2
+ # Copyright (c) 2016 Kinichiro Inoguchi
3
+ #
4
+ # Permission to use, copy, modify, and distribute this software for any
5
+ # purpose with or without fee is hereby granted, provided that the above
6
+ # copyright notice and this permission notice appear in all copies.
7
+ #
8
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
+
16
+ if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
17
+ message(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
18
+ endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
19
+
20
+ file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
21
+ string(REGEX REPLACE "\n" ";" files "${files}")
22
+ foreach(file ${files})
23
+ message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
24
+ if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
25
+ exec_program(
26
+ "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
27
+ OUTPUT_VARIABLE rm_out
28
+ RETURN_VALUE rm_retval
29
+ )
30
+ if(NOT "${rm_retval}" STREQUAL 0)
31
+ message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
32
+ endif(NOT "${rm_retval}" STREQUAL 0)
33
+ else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
34
+ message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
35
+ endif(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
36
+ endforeach(file)
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+
3
+ # This file exists for backwards-compatibility with build systems that expect a
4
+ # config script similar to OpenSSL's.
5
+
6
+ # New software should prefer the native configure script over this one.
7
+
8
+ ARGS=""
9
+ for var in "$@"; do
10
+ case $var in
11
+ no-shared ) ARGS="$ARGS --disable-shared";;
12
+ no-asm ) ARGS="$ARGS --disable-asm";;
13
+ --prefix* ) ARGS="$ARGS $var";;
14
+ esac
15
+ done
16
+
17
+ ./configure $ARGS
@@ -0,0 +1,165 @@
1
+ #
2
+ # Copyright (c) 2014-2015 Brent Cook
3
+ #
4
+ # Permission to use, copy, modify, and distribute this software for any
5
+ # purpose with or without fee is hereby granted, provided that the above
6
+ # copyright notice and this permission notice appear in all copies.
7
+ #
8
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
+
16
+ AC_INIT([libressl], m4_esyscmd(tr -d '\n' < VERSION))
17
+ AC_SUBST([LIBCRYPTO_VERSION], m4_esyscmd([tr -d '\n' < crypto/VERSION]))
18
+ AC_SUBST([LIBSSL_VERSION], m4_esyscmd([tr -d '\n' < ssl/VERSION]))
19
+ AC_SUBST([LIBTLS_VERSION], m4_esyscmd([tr -d '\n' < tls/VERSION]))
20
+
21
+ AC_CANONICAL_HOST
22
+ AM_INIT_AUTOMAKE([subdir-objects foreign])
23
+ AC_CONFIG_MACRO_DIR([m4])
24
+
25
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
26
+
27
+ # This must be saved before AC_PROG_CC
28
+ USER_CFLAGS="$CFLAGS"
29
+
30
+ AC_PROG_CC([cc gcc])
31
+ AM_PROG_CC_C_O
32
+ LT_INIT([pic-only])
33
+
34
+ CHECK_OS_OPTIONS
35
+
36
+ CHECK_C_HARDENING_OPTIONS
37
+
38
+ DISABLE_AS_EXECUTABLE_STACK
39
+ AM_PROG_AS
40
+
41
+ DISABLE_COMPILER_WARNINGS
42
+
43
+ # Check if the certhash command should be built
44
+ AC_CHECK_FUNCS([symlink])
45
+ AM_CONDITIONAL([BUILD_CERTHASH], [test "x$ac_cv_func_symlink" = xyes])
46
+
47
+ # Check if funopen exists
48
+ AC_CHECK_FUNC([funopen])
49
+
50
+ CHECK_LIBC_COMPAT
51
+ CHECK_SYSCALL_COMPAT
52
+ CHECK_CRYPTO_COMPAT
53
+ CHECK_VA_COPY
54
+ CHECK_B64_NTOP
55
+
56
+ AC_ARG_WITH([openssldir],
57
+ AS_HELP_STRING([--with-openssldir],
58
+ [Set the default openssl directory]),
59
+ OPENSSLDIR="$withval"
60
+ AC_SUBST(OPENSSLDIR)
61
+ )
62
+ AM_CONDITIONAL([OPENSSLDIR_DEFINED], [test x$with_openssldir != x])
63
+
64
+ AC_ARG_ENABLE([extratests],
65
+ AS_HELP_STRING([--enable-extratests], [Enable extra tests that may be unreliable on some platforms]))
66
+ AM_CONDITIONAL([ENABLE_EXTRATESTS], [test "x$enable_extratests" = xyes])
67
+
68
+ AC_ARG_ENABLE([tests],
69
+ [AS_HELP_STRING([--disable-tests], [Disable tests @<:@default=enabled@:>@])],
70
+ [
71
+ if ! test "x${enable_tests}" = "xyes"; then
72
+ enable_tests="no"
73
+ fi],
74
+ [enable_tests="yes"])
75
+ AM_CONDITIONAL([ENABLE_TESTS], [test "x$enable_tests" = xyes])
76
+
77
+ AS_CASE([$host_cpu],
78
+ [arm64], [host_cpu=aarch64],
79
+ [*arm*], [host_cpu=arm],
80
+ [*amd64*], [host_cpu=x86_64 HOSTARCH=intel],
81
+ [i?86], [host_cpu=i386 HOSTARCH=intel enable_asm=no],
82
+ [mips64*], [host_cpu=mips64 enable_asm=no],
83
+ [mips*], [host_cpu=mips enable_asm=no],
84
+ [powerpc*], [host_cpu=powerpc],
85
+ [ppc64*], [host_cpu=powerpc64],
86
+ [x86_64], [HOSTARCH=intel]
87
+ )
88
+ AM_CONDITIONAL([HOST_CPU_IS_INTEL], [test "x$HOSTARCH" = "xintel"])
89
+
90
+ AM_CONDITIONAL([HOST_AARCH64], [test "$host_cpu" = "aarch64"])
91
+ AM_CONDITIONAL([HOST_ARM], [test "$host_cpu" = "arm"])
92
+ AM_CONDITIONAL([HOST_I386], [test "$host_cpu" = "i386"])
93
+ AM_CONDITIONAL([HOST_LOONGARCH64], [test "$host_cpu" = "loongarch64"])
94
+ AM_CONDITIONAL([HOST_MIPS], [test "$host_cpu" = "mips"])
95
+ AM_CONDITIONAL([HOST_MIPS64], [test "$host_cpu" = "mips64"])
96
+ AM_CONDITIONAL([HOST_POWERPC], [test "$host_cpu" = "powerpc"])
97
+ AM_CONDITIONAL([HOST_POWERPC64], [test "$host_cpu" = "ppc64"])
98
+ AM_CONDITIONAL([HOST_RISCV64], [test "$host_cpu" = "riscv64"])
99
+ AM_CONDITIONAL([HOST_SPARC64], [test "$host_cpu" = "sparc64"])
100
+ AM_CONDITIONAL([HOST_X86_64], [test "$host_cpu" = "x86_64"])
101
+
102
+ AC_MSG_CHECKING([if .gnu.warning accepts long strings])
103
+ AC_LINK_IFELSE([AC_LANG_SOURCE([[
104
+ extern void SSLv3_method();
105
+ __asm__(".section .gnu.warning.SSLv3_method\n\t.ascii \"SSLv3_method is insecure\"\n\t.text");
106
+ int main() {return 0;}
107
+ ]])], [
108
+ AC_DEFINE(HAS_GNU_WARNING_LONG, 1, [Define if .gnu.warning accepts long strings.])
109
+ AC_MSG_RESULT(yes)
110
+ ], [
111
+ AC_MSG_RESULT(no)
112
+ ])
113
+
114
+ AC_ARG_ENABLE([asm], AS_HELP_STRING([--disable-asm], [Disable assembly]))
115
+ AM_CONDITIONAL([OPENSSL_NO_ASM], [test "x$enable_asm" = "xno"])
116
+
117
+ # Conditionally enable assembly by default
118
+ AM_CONDITIONAL([HOST_ASM_ELF_MIPS],
119
+ [test "x$HOST_ABI" = "xelf" -a "$host_cpu" = "mips" -a "x$enable_asm" != "xno"])
120
+ AM_CONDITIONAL([HOST_ASM_ELF_MIPS64],
121
+ [test "x$HOST_ABI" = "xelf" -a "$host_cpu" = "mips64" -a "x$enable_asm" != "xno"])
122
+ AM_CONDITIONAL([HOST_ASM_ELF_X86_64],
123
+ [test "x$HOST_ABI" = "xelf" -a "$host_cpu" = "x86_64" -a "x$enable_asm" != "xno"])
124
+ AM_CONDITIONAL([HOST_ASM_MACOSX_X86_64],
125
+ [test "x$HOST_ABI" = "xmacosx" -a "$host_cpu" = "x86_64" -a "x$enable_asm" != "xno"])
126
+ AM_CONDITIONAL([HOST_ASM_MASM_X86_64],
127
+ [test "x$HOST_ABI" = "xmasm" -a "$host_cpu" = "x86_64" -a "x$enable_asm" != "xno"])
128
+ AM_CONDITIONAL([HOST_ASM_MINGW64_X86_64],
129
+ [test "x$HOST_ABI" = "xmingw64" -a "$host_cpu" = "x86_64" -a "x$enable_asm" != "xno"])
130
+
131
+ AC_CONFIG_FILES([
132
+ Makefile
133
+ include/Makefile
134
+ include/openssl/Makefile
135
+ crypto/Makefile
136
+ ssl/Makefile
137
+ tls/Makefile
138
+ tests/Makefile
139
+ apps/Makefile
140
+ apps/ocspcheck/Makefile
141
+ apps/openssl/Makefile
142
+ apps/nc/Makefile
143
+ man/Makefile
144
+ libcrypto.pc
145
+ libssl.pc
146
+ libtls.pc
147
+ openssl.pc
148
+ ])
149
+
150
+ AC_ARG_ENABLE([nc],
151
+ AS_HELP_STRING([--enable-nc], [Enable installing TLS-enabled nc(1)]))
152
+ AM_CONDITIONAL([ENABLE_NC], [test "x$enable_nc" = xyes])
153
+ AM_CONDITIONAL([BUILD_NC], [test x$BUILD_NC = xyes -o "x$enable_nc" = xyes])
154
+
155
+ AC_ARG_ENABLE([libtls-only],
156
+ AS_HELP_STRING([--enable-libtls-only], [Enable installing libtls only]))
157
+ AM_CONDITIONAL([ENABLE_LIBTLS_ONLY], [test "x$enable_libtls_only" = xyes])
158
+
159
+ AC_REQUIRE_AUX_FILE([tap-driver.sh])
160
+
161
+ AC_OUTPUT
162
+
163
+ if test "$HOST_OS" = "unsupported"; then
164
+ AC_MSG_WARN([unsupported platform: $host_os])
165
+ fi