uringmachine 0.15 → 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 (261) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +3 -0
  3. data/.gitmodules +4 -0
  4. data/CHANGELOG.md +12 -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_stream_class.c +0 -1
  11. data/ext/um/um_utils.c +38 -15
  12. data/lib/uringmachine/version.rb +1 -1
  13. data/lib/uringmachine.rb +4 -3
  14. data/test/test_um.rb +76 -0
  15. data/vendor/libressl/.github/scripts/changelog.sh +74 -0
  16. data/vendor/libressl/.github/workflows/android.yml +35 -0
  17. data/vendor/libressl/.github/workflows/cifuzz.yml +33 -0
  18. data/vendor/libressl/.github/workflows/cmake-config.yml +98 -0
  19. data/vendor/libressl/.github/workflows/coverity.yml +69 -0
  20. data/vendor/libressl/.github/workflows/emscripten.yml +71 -0
  21. data/vendor/libressl/.github/workflows/fedora-rawhide.yml +39 -0
  22. data/vendor/libressl/.github/workflows/freebsd.yml +71 -0
  23. data/vendor/libressl/.github/workflows/linux.yml +71 -0
  24. data/vendor/libressl/.github/workflows/macos.yml +37 -0
  25. data/vendor/libressl/.github/workflows/release.yml +81 -0
  26. data/vendor/libressl/.github/workflows/rust-openssl.yml +47 -0
  27. data/vendor/libressl/.github/workflows/solaris.yml +37 -0
  28. data/vendor/libressl/.github/workflows/windows.yml +70 -0
  29. data/vendor/libressl/.gitignore +333 -0
  30. data/vendor/libressl/CMakeLists.txt +581 -0
  31. data/vendor/libressl/COPYING +133 -0
  32. data/vendor/libressl/ChangeLog +3280 -0
  33. data/vendor/libressl/FindLibreSSL.cmake +232 -0
  34. data/vendor/libressl/LibreSSLConfig.cmake.in +36 -0
  35. data/vendor/libressl/Makefile.am +60 -0
  36. data/vendor/libressl/Makefile.am.common +20 -0
  37. data/vendor/libressl/OPENBSD_BRANCH +1 -0
  38. data/vendor/libressl/README.md +238 -0
  39. data/vendor/libressl/README.mingw.md +43 -0
  40. data/vendor/libressl/apps/CMakeLists.txt +18 -0
  41. data/vendor/libressl/apps/Makefile.am +5 -0
  42. data/vendor/libressl/apps/nc/CMakeLists.txt +67 -0
  43. data/vendor/libressl/apps/nc/Makefile.am +64 -0
  44. data/vendor/libressl/apps/nc/compat/accept4.c +17 -0
  45. data/vendor/libressl/apps/nc/compat/readpassphrase.c +205 -0
  46. data/vendor/libressl/apps/nc/compat/socket.c +29 -0
  47. data/vendor/libressl/apps/nc/compat/sys/socket.h +30 -0
  48. data/vendor/libressl/apps/ocspcheck/CMakeLists.txt +44 -0
  49. data/vendor/libressl/apps/ocspcheck/Makefile.am +45 -0
  50. data/vendor/libressl/apps/ocspcheck/compat/.gitignore +0 -0
  51. data/vendor/libressl/apps/openssl/CMakeLists.txt +97 -0
  52. data/vendor/libressl/apps/openssl/Makefile.am +108 -0
  53. data/vendor/libressl/apps/openssl/apps_win.c +138 -0
  54. data/vendor/libressl/apps/openssl/certhash_win.c +13 -0
  55. data/vendor/libressl/apps/openssl/compat/clock_gettime_osx.c +26 -0
  56. data/vendor/libressl/apps/openssl/compat/poll_win.c +329 -0
  57. data/vendor/libressl/appveyor.yml +53 -0
  58. data/vendor/libressl/autogen.sh +15 -0
  59. data/vendor/libressl/check-release.sh +86 -0
  60. data/vendor/libressl/cmake_export_symbol.cmake +71 -0
  61. data/vendor/libressl/cmake_uninstall.cmake.in +36 -0
  62. data/vendor/libressl/config +17 -0
  63. data/vendor/libressl/configure.ac +165 -0
  64. data/vendor/libressl/crypto/CMakeLists.txt +863 -0
  65. data/vendor/libressl/crypto/Makefile.am +962 -0
  66. data/vendor/libressl/crypto/Makefile.am.arc4random +46 -0
  67. data/vendor/libressl/crypto/Makefile.am.elf-mips +14 -0
  68. data/vendor/libressl/crypto/Makefile.am.elf-mips64 +14 -0
  69. data/vendor/libressl/crypto/Makefile.am.elf-x86_64 +35 -0
  70. data/vendor/libressl/crypto/Makefile.am.macosx-x86_64 +35 -0
  71. data/vendor/libressl/crypto/Makefile.am.masm-x86_64 +22 -0
  72. data/vendor/libressl/crypto/Makefile.am.mingw64-x86_64 +23 -0
  73. data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_darwin.c +60 -0
  74. data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_linux.c +62 -0
  75. data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_none.c +26 -0
  76. data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_windows.c +36 -0
  77. data/vendor/libressl/crypto/arch/loongarch64/crypto_arch.h +21 -0
  78. data/vendor/libressl/crypto/arch/mips/crypto_arch.h +21 -0
  79. data/vendor/libressl/crypto/bn/arch/loongarch64/bn_arch.h +23 -0
  80. data/vendor/libressl/crypto/bn/arch/mips/bn_arch.h +24 -0
  81. data/vendor/libressl/crypto/compat/.gitignore +31 -0
  82. data/vendor/libressl/crypto/compat/arc4random.h +41 -0
  83. data/vendor/libressl/crypto/compat/b_win.c +55 -0
  84. data/vendor/libressl/crypto/compat/bsd-asprintf.c +96 -0
  85. data/vendor/libressl/crypto/compat/crypto_lock_win.c +56 -0
  86. data/vendor/libressl/crypto/compat/explicit_bzero_win.c +13 -0
  87. data/vendor/libressl/crypto/compat/freezero.c +32 -0
  88. data/vendor/libressl/crypto/compat/getdelim.c +78 -0
  89. data/vendor/libressl/crypto/compat/getline.c +40 -0
  90. data/vendor/libressl/crypto/compat/getopt_long.c +528 -0
  91. data/vendor/libressl/crypto/compat/getpagesize.c +18 -0
  92. data/vendor/libressl/crypto/compat/getprogname_linux.c +23 -0
  93. data/vendor/libressl/crypto/compat/getprogname_unimpl.c +7 -0
  94. data/vendor/libressl/crypto/compat/getprogname_windows.c +13 -0
  95. data/vendor/libressl/crypto/compat/posix_win.c +296 -0
  96. data/vendor/libressl/crypto/compat/syslog_r.c +19 -0
  97. data/vendor/libressl/crypto/compat/ui_openssl_win.c +334 -0
  98. data/vendor/libressl/dist.sh +22 -0
  99. data/vendor/libressl/gen-coverage-report.sh +58 -0
  100. data/vendor/libressl/gen-openbsd-tags.sh +20 -0
  101. data/vendor/libressl/include/CMakeLists.txt +61 -0
  102. data/vendor/libressl/include/Makefile.am +79 -0
  103. data/vendor/libressl/include/arch/loongarch64/opensslconf.h +150 -0
  104. data/vendor/libressl/include/arch/mips/opensslconf.h +150 -0
  105. data/vendor/libressl/include/compat/arpa/inet.h +15 -0
  106. data/vendor/libressl/include/compat/arpa/nameser.h +25 -0
  107. data/vendor/libressl/include/compat/cet.h +19 -0
  108. data/vendor/libressl/include/compat/dirent.h +17 -0
  109. data/vendor/libressl/include/compat/dirent_msvc.h +611 -0
  110. data/vendor/libressl/include/compat/endian.h +161 -0
  111. data/vendor/libressl/include/compat/err.h +95 -0
  112. data/vendor/libressl/include/compat/fcntl.h +32 -0
  113. data/vendor/libressl/include/compat/getopt.h +50 -0
  114. data/vendor/libressl/include/compat/limits.h +25 -0
  115. data/vendor/libressl/include/compat/netdb.h +10 -0
  116. data/vendor/libressl/include/compat/netinet/in.h +19 -0
  117. data/vendor/libressl/include/compat/netinet/ip.h +49 -0
  118. data/vendor/libressl/include/compat/netinet/tcp.h +10 -0
  119. data/vendor/libressl/include/compat/poll.h +63 -0
  120. data/vendor/libressl/include/compat/pthread.h +122 -0
  121. data/vendor/libressl/include/compat/readpassphrase.h +44 -0
  122. data/vendor/libressl/include/compat/resolv.h +24 -0
  123. data/vendor/libressl/include/compat/stdint.h +31 -0
  124. data/vendor/libressl/include/compat/stdio.h +65 -0
  125. data/vendor/libressl/include/compat/stdlib.h +57 -0
  126. data/vendor/libressl/include/compat/string.h +98 -0
  127. data/vendor/libressl/include/compat/sys/_null.h +18 -0
  128. data/vendor/libressl/include/compat/sys/ioctl.h +11 -0
  129. data/vendor/libressl/include/compat/sys/mman.h +19 -0
  130. data/vendor/libressl/include/compat/sys/param.h +15 -0
  131. data/vendor/libressl/include/compat/sys/queue.h +536 -0
  132. data/vendor/libressl/include/compat/sys/select.h +10 -0
  133. data/vendor/libressl/include/compat/sys/socket.h +18 -0
  134. data/vendor/libressl/include/compat/sys/stat.h +129 -0
  135. data/vendor/libressl/include/compat/sys/time.h +37 -0
  136. data/vendor/libressl/include/compat/sys/tree.h +1006 -0
  137. data/vendor/libressl/include/compat/sys/types.h +69 -0
  138. data/vendor/libressl/include/compat/sys/uio.h +17 -0
  139. data/vendor/libressl/include/compat/syslog.h +38 -0
  140. data/vendor/libressl/include/compat/time.h +59 -0
  141. data/vendor/libressl/include/compat/unistd.h +83 -0
  142. data/vendor/libressl/include/compat/win32netcompat.h +57 -0
  143. data/vendor/libressl/include/openssl/Makefile.am.tpl +45 -0
  144. data/vendor/libressl/libcrypto.pc.in +28 -0
  145. data/vendor/libressl/libressl.pub +2 -0
  146. data/vendor/libressl/libssl.pc.in +28 -0
  147. data/vendor/libressl/libtls.pc.in +28 -0
  148. data/vendor/libressl/m4/ax_add_fortify_source.m4 +80 -0
  149. data/vendor/libressl/m4/ax_check_compile_flag.m4 +53 -0
  150. data/vendor/libressl/m4/check-hardening-options.m4 +110 -0
  151. data/vendor/libressl/m4/check-libc.m4 +189 -0
  152. data/vendor/libressl/m4/check-os-options.m4 +181 -0
  153. data/vendor/libressl/m4/disable-compiler-warnings.m4 +44 -0
  154. data/vendor/libressl/man/CMakeLists.txt +26 -0
  155. data/vendor/libressl/man/links +2780 -0
  156. data/vendor/libressl/man/update_links.sh +25 -0
  157. data/vendor/libressl/openssl.pc.in +11 -0
  158. data/vendor/libressl/patches/bn_shift.patch +34 -0
  159. data/vendor/libressl/patches/crypto_arch.h.patch +34 -0
  160. data/vendor/libressl/patches/crypto_namespace.h.patch +22 -0
  161. data/vendor/libressl/patches/netcat.c.patch +178 -0
  162. data/vendor/libressl/patches/openssl.c.patch +12 -0
  163. data/vendor/libressl/patches/opensslfeatures.h.patch +49 -0
  164. data/vendor/libressl/patches/patch-amd64-crypto-cpu-caps.c.patch +20 -0
  165. data/vendor/libressl/patches/patch-i386-crypto-cpu-caps.c.patch +20 -0
  166. data/vendor/libressl/patches/speed.c.patch +114 -0
  167. data/vendor/libressl/patches/ssl_namespace.h.patch +21 -0
  168. data/vendor/libressl/patches/tls.h.patch +16 -0
  169. data/vendor/libressl/patches/tls_config.c.patch +15 -0
  170. data/vendor/libressl/patches/win32_amd64_bn_arch.h.patch +28 -0
  171. data/vendor/libressl/patches/windows_headers.patch +80 -0
  172. data/vendor/libressl/scripts/config.guess +1774 -0
  173. data/vendor/libressl/scripts/config.sub +1907 -0
  174. data/vendor/libressl/scripts/i686-w64-mingw32.cmake +9 -0
  175. data/vendor/libressl/scripts/test +210 -0
  176. data/vendor/libressl/scripts/wrap-compiler-for-flag-check +31 -0
  177. data/vendor/libressl/scripts/x86_64-w64-mingw32.cmake +9 -0
  178. data/vendor/libressl/ssl/CMakeLists.txt +183 -0
  179. data/vendor/libressl/ssl/Makefile.am +187 -0
  180. data/vendor/libressl/tests/CMakeLists.txt +970 -0
  181. data/vendor/libressl/tests/Makefile.am +944 -0
  182. data/vendor/libressl/tests/aeadtest.sh +30 -0
  183. data/vendor/libressl/tests/arc4randomforktest.sh +21 -0
  184. data/vendor/libressl/tests/asn1time_small.test +10 -0
  185. data/vendor/libressl/tests/cmake/CMakeLists.txt +52 -0
  186. data/vendor/libressl/tests/cmake/crypto.c +7 -0
  187. data/vendor/libressl/tests/cmake/ssl.c +6 -0
  188. data/vendor/libressl/tests/cmake/tls.c +6 -0
  189. data/vendor/libressl/tests/compat/pipe2.c +186 -0
  190. data/vendor/libressl/tests/dtlstest.sh +28 -0
  191. data/vendor/libressl/tests/evptest.sh +22 -0
  192. data/vendor/libressl/tests/keypairtest.sh +27 -0
  193. data/vendor/libressl/tests/mlkem_tests.sh +39 -0
  194. data/vendor/libressl/tests/ocsptest.bat +25 -0
  195. data/vendor/libressl/tests/ocsptest.sh +23 -0
  196. data/vendor/libressl/tests/openssl.cnf +29 -0
  197. data/vendor/libressl/tests/optionstest.c +381 -0
  198. data/vendor/libressl/tests/pidwraptest.c +85 -0
  199. data/vendor/libressl/tests/pidwraptest.sh +26 -0
  200. data/vendor/libressl/tests/quictest.bat +27 -0
  201. data/vendor/libressl/tests/quictest.sh +30 -0
  202. data/vendor/libressl/tests/renegotiation_test.bat +27 -0
  203. data/vendor/libressl/tests/renegotiation_test.sh +30 -0
  204. data/vendor/libressl/tests/rfc5280time_small.test +10 -0
  205. data/vendor/libressl/tests/servertest.bat +27 -0
  206. data/vendor/libressl/tests/servertest.sh +30 -0
  207. data/vendor/libressl/tests/shutdowntest.bat +27 -0
  208. data/vendor/libressl/tests/shutdowntest.sh +30 -0
  209. data/vendor/libressl/tests/ssltest.bat +32 -0
  210. data/vendor/libressl/tests/ssltest.sh +48 -0
  211. data/vendor/libressl/tests/testdsa.bat +47 -0
  212. data/vendor/libressl/tests/testdsa.sh +57 -0
  213. data/vendor/libressl/tests/testenc.bat +85 -0
  214. data/vendor/libressl/tests/testenc.sh +93 -0
  215. data/vendor/libressl/tests/testrsa.bat +47 -0
  216. data/vendor/libressl/tests/testrsa.sh +57 -0
  217. data/vendor/libressl/tests/testssl.bat +171 -0
  218. data/vendor/libressl/tests/tlstest.bat +27 -0
  219. data/vendor/libressl/tests/tlstest.sh +28 -0
  220. data/vendor/libressl/tls/CMakeLists.txt +125 -0
  221. data/vendor/libressl/tls/Makefile.am +76 -0
  222. data/vendor/libressl/tls/compat/ftruncate.c +17 -0
  223. data/vendor/libressl/tls/compat/pread.c +29 -0
  224. data/vendor/libressl/tls/compat/pwrite.c +29 -0
  225. data/vendor/libressl/update.sh +460 -0
  226. data/vendor/liburing/.github/workflows/ci.yml +8 -0
  227. data/vendor/liburing/configure +23 -2
  228. data/vendor/liburing/examples/helpers.c +1 -1
  229. data/vendor/liburing/examples/helpers.h +1 -1
  230. data/vendor/liburing/examples/reg-wait.c +3 -3
  231. data/vendor/liburing/examples/zcrx.c +5 -5
  232. data/vendor/liburing/liburing.spec +1 -1
  233. data/vendor/liburing/src/include/liburing/io_uring.h +16 -0
  234. data/vendor/liburing/src/include/liburing.h +20 -4
  235. data/vendor/liburing/src/lib.h +2 -4
  236. data/vendor/liburing/src/liburing-ffi.map +7 -0
  237. data/vendor/liburing/src/liburing.map +7 -0
  238. data/vendor/liburing/src/register.c +5 -0
  239. data/vendor/liburing/src/sanitize.c +5 -4
  240. data/vendor/liburing/src/setup.c +43 -28
  241. data/vendor/liburing/test/Makefile +7 -0
  242. data/vendor/liburing/test/cmd-discard.c +2 -2
  243. data/vendor/liburing/test/evfd-short-read.c +84 -0
  244. data/vendor/liburing/test/fdinfo-sqpoll.c +117 -0
  245. data/vendor/liburing/test/fdinfo.c +1 -1
  246. data/vendor/liburing/test/fixed-buf-merge.c +2 -2
  247. data/vendor/liburing/test/futex-kill.c +135 -0
  248. data/vendor/liburing/test/helpers.c +1 -1
  249. data/vendor/liburing/test/helpers.h +1 -1
  250. data/vendor/liburing/test/init-mem.c +50 -12
  251. data/vendor/liburing/test/io_uring_passthrough.c +25 -6
  252. data/vendor/liburing/test/msg-ring.c +123 -9
  253. data/vendor/liburing/test/recv-bundle-short-ooo.c +16 -1
  254. data/vendor/liburing/test/recv-inc-ooo.c +411 -0
  255. data/vendor/liburing/test/recv-mshot-fair.c +513 -0
  256. data/vendor/liburing/test/reg-wait.c +14 -14
  257. data/vendor/liburing/test/send-zerocopy.c +4 -4
  258. data/vendor/liburing/test/timerfd-short-read.c +81 -0
  259. data/vendor/liburing/test/timestamp.c +382 -0
  260. data/vendor/liburing/test/zcrx.c +22 -22
  261. metadata +222 -2
@@ -0,0 +1,58 @@
1
+ #
2
+ # Copyright (c) 2014 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
+ #!/bin/sh
17
+
18
+ VERSION=$(cat VERSION)
19
+ DESTDIR=libressl-coverage-$VERSION
20
+
21
+ echo "This will generate a code coverage report under $DESTDIR"
22
+ echo
23
+
24
+ if [ "x$(which lcov)" = "x" ]; then
25
+ echo "'lcov' is required but not found!"
26
+ exit 1
27
+ fi
28
+
29
+ if [ "x$(which genhtml)" = "x" ]; then
30
+ echo "'genhtml' is required but not found!"
31
+ exit 1
32
+ fi
33
+
34
+ find -name '*.gcda' -o -name '*.gcno' -delete
35
+ rm -fr $DESTDIR
36
+
37
+ echo "Configuring to build with code coverage support"
38
+ ./configure CFLAGS='-O0 -fprofile-arcs -ftest-coverage'
39
+
40
+ echo "Running all code paths"
41
+ make clean
42
+ make check
43
+
44
+ echo "Generating report"
45
+ mkdir -p $DESTDIR
46
+ find tests -name '*.gcda' -o -name '*.gcno' -delete
47
+ lcov --capture --output-file $DESTDIR/coverage.tmp \
48
+ --rc lcov_branch_coverage=1 \
49
+ --directory crypto \
50
+ --directory ssl \
51
+ --directory tls \
52
+ --test-name "LibreSSL $VERSION"
53
+ genhtml --prefix . --output-directory $DESTDIR \
54
+ --branch-coverage --function-coverage \
55
+ --rc lcov_branch_coverage=1 \
56
+ --title "LibreSSL $VERSION" --legend --show-detail $DESTDIR/coverage.tmp
57
+
58
+ echo "Code coverage report is available under $DESTDIR"
@@ -0,0 +1,20 @@
1
+ #!/bin/sh
2
+ set -e
3
+
4
+ for tag in `git tag`; do
5
+ branch=master
6
+ if [[ $tag = v2.0* ]]; then
7
+ branch=OPENBSD_5_6
8
+ elif [[ $tag = v2.1* ]]; then
9
+ branch=OPENBSD_5_7
10
+ elif [[ $tag = v2.2* ]]; then
11
+ branch=OPENBSD_5_8
12
+ elif [[ $tag = v2.3* ]]; then
13
+ branch=OPENBSD_5_9
14
+ fi
15
+ # adjust for 9 hour timezone delta between trees
16
+ release_ts=$((`git show -s --format=%ct $tag|tail -n1` + 32400))
17
+ commit=`git -C openbsd rev-list -n 1 --before=$release_ts $branch`
18
+ git -C openbsd tag -f libressl-$tag $commit
19
+ echo Tagged $tag as $commit in openbsd
20
+ done
@@ -0,0 +1,61 @@
1
+ #
2
+ # Copyright (c) 2016 Jeff Davey
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(ENABLE_LIBRESSL_INSTALL)
17
+ install(DIRECTORY .
18
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
19
+ PATTERN "CMakeLists.txt" EXCLUDE
20
+ PATTERN "compat" EXCLUDE
21
+ PATTERN "pqueue.h" EXCLUDE
22
+ PATTERN "Makefile*" EXCLUDE
23
+ PATTERN "arch" EXCLUDE)
24
+ install(FILES ${CMAKE_BINARY_DIR}/include/openssl/opensslconf.h
25
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/openssl")
26
+ endif(ENABLE_LIBRESSL_INSTALL)
27
+
28
+ file(COPY .
29
+ DESTINATION "${CMAKE_BINARY_DIR}/include"
30
+ PATTERN "CMakeLists.txt" EXCLUDE
31
+ PATTERN "compat" EXCLUDE
32
+ PATTERN "pqueue.h" EXCLUDE
33
+ PATTERN "Makefile*" EXCLUDE
34
+ PATTERN "arch" EXCLUDE)
35
+
36
+ if(HOST_AARCH64)
37
+ file(READ arch/aarch64/opensslconf.h OPENSSLCONF)
38
+ elseif(HOST_ARM)
39
+ file(READ arch/arm/opensslconf.h OPENSSLCONF)
40
+ elseif(HOST_I386)
41
+ file(READ arch/i386/opensslconf.h OPENSSLCONF)
42
+ elseif(HOST_LOONGARCH64)
43
+ file(READ arch/loongarch64/opensslconf.h OPENSSLCONF)
44
+ elseif(HOST_MIPS)
45
+ file(READ arch/mips/opensslconf.h OPENSSLCONF)
46
+ elseif(HOST_MIPS64)
47
+ file(READ arch/mips64/opensslconf.h OPENSSLCONF)
48
+ elseif(HOST_POWERPC)
49
+ file(READ arch/powerpc/opensslconf.h OPENSSLCONF)
50
+ elseif(HOST_POWERPC64)
51
+ file(READ arch/powerpc64/opensslconf.h OPENSSLCONF)
52
+ elseif(HOST_RISCV64)
53
+ file(READ arch/riscv64/opensslconf.h OPENSSLCONF)
54
+ elseif(HOST_SPARC64)
55
+ file(READ arch/sparc64/opensslconf.h OPENSSLCONF)
56
+ elseif(HOST_X86_64)
57
+ file(READ arch/amd64/opensslconf.h OPENSSLCONF)
58
+ else()
59
+ message(FATAL_ERROR "Architecture not supported")
60
+ endif()
61
+ file(WRITE ${CMAKE_BINARY_DIR}/include/openssl/opensslconf.h "${OPENSSLCONF}")
@@ -0,0 +1,79 @@
1
+ #
2
+ # Copyright (c) 2014 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
+ include $(top_srcdir)/Makefile.am.common
17
+
18
+ EXTRA_DIST = CMakeLists.txt
19
+
20
+ SUBDIRS = openssl
21
+
22
+ noinst_HEADERS = pqueue.h
23
+ noinst_HEADERS += compat/dirent.h
24
+ noinst_HEADERS += compat/dirent_msvc.h
25
+ noinst_HEADERS += compat/endian.h
26
+ noinst_HEADERS += compat/err.h
27
+ noinst_HEADERS += compat/fcntl.h
28
+ noinst_HEADERS += compat/getopt.h
29
+ noinst_HEADERS += compat/limits.h
30
+ noinst_HEADERS += compat/netdb.h
31
+ noinst_HEADERS += compat/poll.h
32
+ noinst_HEADERS += compat/pthread.h
33
+ noinst_HEADERS += compat/readpassphrase.h
34
+ noinst_HEADERS += compat/resolv.h
35
+ noinst_HEADERS += compat/stdint.h
36
+ noinst_HEADERS += compat/stdio.h
37
+ noinst_HEADERS += compat/stdlib.h
38
+ noinst_HEADERS += compat/string.h
39
+ noinst_HEADERS += compat/syslog.h
40
+ noinst_HEADERS += compat/time.h
41
+ noinst_HEADERS += compat/unistd.h
42
+ noinst_HEADERS += compat/win32netcompat.h
43
+
44
+ noinst_HEADERS += compat/arpa/inet.h
45
+ noinst_HEADERS += compat/arpa/nameser.h
46
+
47
+ noinst_HEADERS += compat/netinet/in.h
48
+ noinst_HEADERS += compat/netinet/ip.h
49
+ noinst_HEADERS += compat/netinet/tcp.h
50
+
51
+ noinst_HEADERS += compat/sys/_null.h
52
+ noinst_HEADERS += compat/sys/ioctl.h
53
+ noinst_HEADERS += compat/sys/mman.h
54
+ noinst_HEADERS += compat/sys/param.h
55
+ noinst_HEADERS += compat/sys/queue.h
56
+ noinst_HEADERS += compat/sys/select.h
57
+ noinst_HEADERS += compat/sys/socket.h
58
+ noinst_HEADERS += compat/sys/stat.h
59
+ noinst_HEADERS += compat/sys/tree.h
60
+ noinst_HEADERS += compat/sys/time.h
61
+ noinst_HEADERS += compat/sys/types.h
62
+ noinst_HEADERS += compat/sys/uio.h
63
+
64
+ noinst_HEADERS += arch/aarch64/opensslconf.h
65
+ noinst_HEADERS += arch/alpha/opensslconf.h
66
+ noinst_HEADERS += arch/amd64/opensslconf.h
67
+ noinst_HEADERS += arch/arm/opensslconf.h
68
+ noinst_HEADERS += arch/hppa/opensslconf.h
69
+ noinst_HEADERS += arch/i386/opensslconf.h
70
+ noinst_HEADERS += arch/m88k/opensslconf.h
71
+ noinst_HEADERS += arch/mips/opensslconf.h
72
+ noinst_HEADERS += arch/mips64/opensslconf.h
73
+ noinst_HEADERS += arch/powerpc/opensslconf.h
74
+ noinst_HEADERS += arch/powerpc64/opensslconf.h
75
+ noinst_HEADERS += arch/riscv64/opensslconf.h
76
+ noinst_HEADERS += arch/sh/opensslconf.h
77
+ noinst_HEADERS += arch/sparc64/opensslconf.h
78
+
79
+ include_HEADERS = tls.h
@@ -0,0 +1,150 @@
1
+ #include <openssl/opensslfeatures.h>
2
+ /* crypto/opensslconf.h.in */
3
+
4
+ #if defined(HEADER_CRYPTO_LOCAL_H) && !defined(OPENSSLDIR)
5
+ #define OPENSSLDIR "/etc/ssl"
6
+ #endif
7
+
8
+ #undef OPENSSL_EXPORT_VAR_AS_FUNCTION
9
+
10
+ #ifndef OPENSSL_FILE
11
+ #ifdef OPENSSL_NO_FILENAMES
12
+ #define OPENSSL_FILE ""
13
+ #define OPENSSL_LINE 0
14
+ #else
15
+ #define OPENSSL_FILE __FILE__
16
+ #define OPENSSL_LINE __LINE__
17
+ #endif
18
+ #endif
19
+
20
+ #if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
21
+ #define IDEA_INT unsigned int
22
+ #endif
23
+
24
+ #if defined(HEADER_RC2_H) && !defined(RC2_INT)
25
+ /* I need to put in a mod for the alpha - eay */
26
+ #define RC2_INT unsigned int
27
+ #endif
28
+
29
+ #if defined(HEADER_RC4_H)
30
+ #if !defined(RC4_INT)
31
+ /* using int types make the structure larger but make the code faster
32
+ * on most boxes I have tested - up to %20 faster. */
33
+ /*
34
+ * I don't know what does "most" mean, but declaring "int" is a must on:
35
+ * - Intel P6 because partial register stalls are very expensive;
36
+ * - elder Alpha because it lacks byte load/store instructions;
37
+ */
38
+ #define RC4_INT unsigned int
39
+ #endif
40
+ #if !defined(RC4_CHUNK)
41
+ /*
42
+ * This enables code handling data aligned at natural CPU word
43
+ * boundary. See crypto/rc4/rc4_enc.c for further details.
44
+ */
45
+ #define RC4_CHUNK unsigned long
46
+ #endif
47
+ #endif
48
+
49
+ #if defined(HEADER_DES_H) && !defined(DES_LONG)
50
+ /* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
51
+ * %20 speed up (longs are 8 bytes, int's are 4). */
52
+ #ifndef DES_LONG
53
+ #define DES_LONG unsigned int
54
+ #endif
55
+ #endif
56
+
57
+ #if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
58
+ #define CONFIG_HEADER_BN_H
59
+ #undef BN_LLONG
60
+
61
+ /* Should we define BN_DIV2W here? */
62
+
63
+ /* Only one for the following should be defined */
64
+ /* The prime number generation stuff may not work when
65
+ * EIGHT_BIT but I don't care since I've only used this mode
66
+ * for debugging the bignum libraries */
67
+ #define SIXTY_FOUR_BIT_LONG
68
+ #undef SIXTY_FOUR_BIT
69
+ #undef THIRTY_TWO_BIT
70
+ #undef SIXTEEN_BIT
71
+ #undef EIGHT_BIT
72
+ #endif
73
+
74
+ #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
75
+ #define CONFIG_HEADER_BF_LOCL_H
76
+ #undef BF_PTR
77
+ #endif /* HEADER_BF_LOCL_H */
78
+
79
+ #if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
80
+ #define CONFIG_HEADER_DES_LOCL_H
81
+ #ifndef DES_DEFAULT_OPTIONS
82
+ /* the following is tweaked from a config script, that is why it is a
83
+ * protected undef/define */
84
+ #ifndef DES_PTR
85
+ #undef DES_PTR
86
+ #endif
87
+
88
+ /* This helps C compiler generate the correct code for multiple functional
89
+ * units. It reduces register dependencies at the expense of 2 more
90
+ * registers */
91
+ #ifndef DES_RISC1
92
+ #undef DES_RISC1
93
+ #endif
94
+
95
+ #ifndef DES_RISC2
96
+ #undef DES_RISC2
97
+ #endif
98
+
99
+ #if defined(DES_RISC1) && defined(DES_RISC2)
100
+ YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
101
+ #endif
102
+
103
+ /* Unroll the inner loop, this sometimes helps, sometimes hinders.
104
+ * Very much CPU dependent */
105
+ #ifndef DES_UNROLL
106
+ #define DES_UNROLL
107
+ #endif
108
+
109
+ /* These default values were supplied by
110
+ * Peter Gutman <pgut001@cs.auckland.ac.nz>
111
+ * They are only used if nothing else has been defined */
112
+ #if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
113
+ /* Special defines which change the way the code is built depending on the
114
+ CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
115
+ even newer MIPS CPU's, but at the moment one size fits all for
116
+ optimization options. Older Sparc's work better with only UNROLL, but
117
+ there's no way to tell at compile time what it is you're running on */
118
+
119
+ #if defined( sun ) /* Newer Sparc's */
120
+ # define DES_PTR
121
+ # define DES_RISC1
122
+ # define DES_UNROLL
123
+ #elif defined( __ultrix ) /* Older MIPS */
124
+ # define DES_PTR
125
+ # define DES_RISC2
126
+ # define DES_UNROLL
127
+ #elif defined( __osf1__ ) /* Alpha */
128
+ # define DES_PTR
129
+ # define DES_RISC2
130
+ #elif defined ( _AIX ) /* RS6000 */
131
+ /* Unknown */
132
+ #elif defined( __hpux ) /* HP-PA */
133
+ /* Unknown */
134
+ #elif defined( __aux ) /* 68K */
135
+ /* Unknown */
136
+ #elif defined( __dgux ) /* 88K (but P6 in latest boxes) */
137
+ # define DES_UNROLL
138
+ #elif defined( __sgi ) /* Newer MIPS */
139
+ # define DES_PTR
140
+ # define DES_RISC2
141
+ # define DES_UNROLL
142
+ #elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */
143
+ # define DES_PTR
144
+ # define DES_RISC1
145
+ # define DES_UNROLL
146
+ #endif /* Systems-specific speed defines */
147
+ #endif
148
+
149
+ #endif /* DES_DEFAULT_OPTIONS */
150
+ #endif /* HEADER_DES_LOCL_H */
@@ -0,0 +1,150 @@
1
+ #include <openssl/opensslfeatures.h>
2
+ /* crypto/opensslconf.h.in */
3
+
4
+ #if defined(HEADER_CRYPTO_LOCAL_H) && !defined(OPENSSLDIR)
5
+ #define OPENSSLDIR "/etc/ssl"
6
+ #endif
7
+
8
+ #undef OPENSSL_EXPORT_VAR_AS_FUNCTION
9
+
10
+ #ifndef OPENSSL_FILE
11
+ #ifdef OPENSSL_NO_FILENAMES
12
+ #define OPENSSL_FILE ""
13
+ #define OPENSSL_LINE 0
14
+ #else
15
+ #define OPENSSL_FILE __FILE__
16
+ #define OPENSSL_LINE __LINE__
17
+ #endif
18
+ #endif
19
+
20
+ #if defined(HEADER_IDEA_H) && !defined(IDEA_INT)
21
+ #define IDEA_INT unsigned int
22
+ #endif
23
+
24
+ #if defined(HEADER_RC2_H) && !defined(RC2_INT)
25
+ /* I need to put in a mod for the alpha - eay */
26
+ #define RC2_INT unsigned int
27
+ #endif
28
+
29
+ #if defined(HEADER_RC4_H)
30
+ #if !defined(RC4_INT)
31
+ /* using int types make the structure larger but make the code faster
32
+ * on most boxes I have tested - up to %20 faster. */
33
+ /*
34
+ * I don't know what does "most" mean, but declaring "int" is a must on:
35
+ * - Intel P6 because partial register stalls are very expensive;
36
+ * - elder Alpha because it lacks byte load/store instructions;
37
+ */
38
+ #define RC4_INT unsigned int
39
+ #endif
40
+ #if !defined(RC4_CHUNK)
41
+ /*
42
+ * This enables code handling data aligned at natural CPU word
43
+ * boundary. See crypto/rc4/rc4_enc.c for further details.
44
+ */
45
+ #undef RC4_CHUNK
46
+ #endif
47
+ #endif
48
+
49
+ #if defined(HEADER_DES_H) && !defined(DES_LONG)
50
+ /* If this is set to 'unsigned int' on a DEC Alpha, this gives about a
51
+ * %20 speed up (longs are 8 bytes, int's are 4). */
52
+ #ifndef DES_LONG
53
+ #define DES_LONG unsigned int
54
+ #endif
55
+ #endif
56
+
57
+ #if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)
58
+ #define CONFIG_HEADER_BN_H
59
+ #define BN_LLONG
60
+
61
+ /* Should we define BN_DIV2W here? */
62
+
63
+ /* Only one for the following should be defined */
64
+ /* The prime number generation stuff may not work when
65
+ * EIGHT_BIT but I don't care since I've only used this mode
66
+ * for debugging the bignum libraries */
67
+ #undef SIXTY_FOUR_BIT_LONG
68
+ #undef SIXTY_FOUR_BIT
69
+ #define THIRTY_TWO_BIT
70
+ #undef SIXTEEN_BIT
71
+ #undef EIGHT_BIT
72
+ #endif
73
+
74
+ #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H)
75
+ #define CONFIG_HEADER_BF_LOCL_H
76
+ #undef BF_PTR
77
+ #endif /* HEADER_BF_LOCL_H */
78
+
79
+ #if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H)
80
+ #define CONFIG_HEADER_DES_LOCL_H
81
+ #ifndef DES_DEFAULT_OPTIONS
82
+ /* the following is tweaked from a config script, that is why it is a
83
+ * protected undef/define */
84
+ #ifndef DES_PTR
85
+ #undef DES_PTR
86
+ #endif
87
+
88
+ /* This helps C compiler generate the correct code for multiple functional
89
+ * units. It reduces register dependencies at the expense of 2 more
90
+ * registers */
91
+ #ifndef DES_RISC1
92
+ #undef DES_RISC1
93
+ #endif
94
+
95
+ #ifndef DES_RISC2
96
+ #undef DES_RISC2
97
+ #endif
98
+
99
+ #if defined(DES_RISC1) && defined(DES_RISC2)
100
+ YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!
101
+ #endif
102
+
103
+ /* Unroll the inner loop, this sometimes helps, sometimes hinders.
104
+ * Very much CPU dependent */
105
+ #ifndef DES_UNROLL
106
+ #define DES_UNROLL
107
+ #endif
108
+
109
+ /* These default values were supplied by
110
+ * Peter Gutman <pgut001@cs.auckland.ac.nz>
111
+ * They are only used if nothing else has been defined */
112
+ #if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL)
113
+ /* Special defines which change the way the code is built depending on the
114
+ CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find
115
+ even newer MIPS CPU's, but at the moment one size fits all for
116
+ optimization options. Older Sparc's work better with only UNROLL, but
117
+ there's no way to tell at compile time what it is you're running on */
118
+
119
+ #if defined( sun ) /* Newer Sparc's */
120
+ # define DES_PTR
121
+ # define DES_RISC1
122
+ # define DES_UNROLL
123
+ #elif defined( __ultrix ) /* Older MIPS */
124
+ # define DES_PTR
125
+ # define DES_RISC2
126
+ # define DES_UNROLL
127
+ #elif defined( __osf1__ ) /* Alpha */
128
+ # define DES_PTR
129
+ # define DES_RISC2
130
+ #elif defined ( _AIX ) /* RS6000 */
131
+ /* Unknown */
132
+ #elif defined( __hpux ) /* HP-PA */
133
+ /* Unknown */
134
+ #elif defined( __aux ) /* 68K */
135
+ /* Unknown */
136
+ #elif defined( __dgux ) /* 88K (but P6 in latest boxes) */
137
+ # define DES_UNROLL
138
+ #elif defined( __sgi ) /* Newer MIPS */
139
+ # define DES_PTR
140
+ # define DES_RISC2
141
+ # define DES_UNROLL
142
+ #elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */
143
+ # define DES_PTR
144
+ # define DES_RISC1
145
+ # define DES_UNROLL
146
+ #endif /* Systems-specific speed defines */
147
+ #endif
148
+
149
+ #endif /* DES_DEFAULT_OPTIONS */
150
+ #endif /* HEADER_DES_LOCL_H */
@@ -0,0 +1,15 @@
1
+ /*
2
+ * Public domain
3
+ * arpa/inet.h compatibility shim
4
+ */
5
+
6
+ #ifndef _WIN32
7
+ #include_next <arpa/inet.h>
8
+ #else
9
+ #include <win32netcompat.h>
10
+
11
+ #ifndef AI_ADDRCONFIG
12
+ #define AI_ADDRCONFIG 0x00000400
13
+ #endif
14
+
15
+ #endif
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Public domain
3
+ * arpa/inet.h compatibility shim
4
+ */
5
+
6
+ #ifndef _WIN32
7
+ #ifdef HAVE_ARPA_NAMESER_H
8
+ #include_next <arpa/nameser.h>
9
+ #endif
10
+ #else
11
+ #include <win32netcompat.h>
12
+
13
+ #ifndef INADDRSZ
14
+ #define INADDRSZ 4
15
+ #endif
16
+
17
+ #ifndef IN6ADDRSZ
18
+ #define IN6ADDRSZ 16
19
+ #endif
20
+
21
+ #ifndef INT16SZ
22
+ #define INT16SZ 2
23
+ #endif
24
+
25
+ #endif
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Public domain
3
+ * cet.h compatibility shim
4
+ */
5
+
6
+ #ifndef LIBCOMPAT_CET_H
7
+ #define LIBCOMPAT_CET_H
8
+
9
+ #ifndef _MSC_VER
10
+
11
+ #ifdef __CET__
12
+ # include_next <cet.h>
13
+ #else
14
+ # define _CET_ENDBR
15
+ #endif
16
+
17
+ #endif
18
+
19
+ #endif
@@ -0,0 +1,17 @@
1
+ /*
2
+ * Public domain
3
+ * dirent.h compatibility shim
4
+ */
5
+
6
+ #ifndef LIBCRYPTOCOMPAT_DIRENT_H
7
+ #define LIBCRYPTOCOMPAT_DIRENT_H
8
+
9
+ #ifdef _MSC_VER
10
+ #include <windows.h>
11
+ #include <dirent_msvc.h>
12
+ #else
13
+ #include_next <dirent.h>
14
+ #endif
15
+
16
+ #endif
17
+