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,31 @@
1
+ /*
2
+ * Public domain
3
+ * stdint.h compatibility shim
4
+ */
5
+
6
+ #ifdef _MSC_VER
7
+ #include <../include/stdint.h>
8
+ #else
9
+ #include_next <stdint.h>
10
+ #endif
11
+
12
+ #ifndef LIBCRYPTOCOMPAT_STDINT_H
13
+ #define LIBCRYPTOCOMPAT_STDINT_H
14
+
15
+ #ifndef SIZE_MAX
16
+ #include <limits.h>
17
+ #endif
18
+
19
+ #if !defined(HAVE_ATTRIBUTE__BOUNDED__) && !defined(__bounded__)
20
+ # define __bounded__(x, y, z)
21
+ #endif
22
+
23
+ #if !defined(HAVE_ATTRIBUTE__DEAD) && !defined(__dead)
24
+ #ifdef _MSC_VER
25
+ #define __dead __declspec(noreturn)
26
+ #else
27
+ #define __dead __attribute__((__noreturn__))
28
+ #endif
29
+ #endif
30
+
31
+ #endif
@@ -0,0 +1,65 @@
1
+ /*
2
+ * Public domain
3
+ * stdio.h compatibility shim
4
+ */
5
+
6
+ #ifndef LIBCRYPTOCOMPAT_STDIO_H
7
+ #define LIBCRYPTOCOMPAT_STDIO_H
8
+
9
+ #ifdef _MSC_VER
10
+ #if _MSC_VER >= 1900
11
+ #include <../ucrt/stdlib.h>
12
+ #include <../ucrt/corecrt_io.h>
13
+ #include <../ucrt/stdio.h>
14
+ #else
15
+ #include <../include/stdio.h>
16
+ #endif
17
+ #else
18
+ #include_next <stdio.h>
19
+ #endif
20
+
21
+ #ifndef HAVE_GETDELIM
22
+ #include <sys/types.h>
23
+ #define getdelim libressl_getdelim
24
+ ssize_t getdelim(char **buf, size_t *bufsiz, int delimiter, FILE *fp);
25
+ #endif
26
+
27
+ #ifndef HAVE_GETLINE
28
+ #include <sys/types.h>
29
+ #define getline libressl_getline
30
+ ssize_t getline(char **buf, size_t *bufsiz, FILE *fp);
31
+ #endif
32
+
33
+ #ifndef HAVE_ASPRINTF
34
+ #include <stdarg.h>
35
+ #define vasprintf libressl_vasprintf
36
+ int vasprintf(char **str, const char *fmt, va_list ap);
37
+ #define asprintf libressl_asprintf
38
+ int asprintf(char **str, const char *fmt, ...);
39
+ #endif
40
+
41
+ #ifdef _WIN32
42
+
43
+ #if defined(_MSC_VER)
44
+ #define __func__ __FUNCTION__
45
+ #endif
46
+
47
+ void posix_perror(const char *s);
48
+ FILE * posix_fopen(const char *path, const char *mode);
49
+ char * posix_fgets(char *s, int size, FILE *stream);
50
+ int posix_rename(const char *oldpath, const char *newpath);
51
+
52
+ #ifndef NO_REDEF_POSIX_FUNCTIONS
53
+ #define perror(errnum) posix_perror(errnum)
54
+ #define fopen(path, mode) posix_fopen(path, mode)
55
+ #define fgets(s, size, stream) posix_fgets(s, size, stream)
56
+ #define rename(oldpath, newpath) posix_rename(oldpath, newpath)
57
+ #endif
58
+
59
+ #if defined(_MSC_VER) && _MSC_VER < 1900
60
+ #define snprintf _snprintf
61
+ #endif
62
+
63
+ #endif
64
+
65
+ #endif
@@ -0,0 +1,57 @@
1
+ /*
2
+ * stdlib.h compatibility shim
3
+ * Public domain
4
+ */
5
+
6
+ #ifdef _MSC_VER
7
+ #if _MSC_VER >= 1900
8
+ #include <../ucrt/stdlib.h>
9
+ #else
10
+ #include <../include/stdlib.h>
11
+ #endif
12
+ #else
13
+ #include_next <stdlib.h>
14
+ #endif
15
+
16
+ #ifndef LIBCRYPTOCOMPAT_STDLIB_H
17
+ #define LIBCRYPTOCOMPAT_STDLIB_H
18
+
19
+ #include <sys/types.h>
20
+ #include <stdint.h>
21
+
22
+ #ifndef HAVE_ARC4RANDOM_BUF
23
+ #define arc4random libressl_arc4random
24
+ uint32_t arc4random(void);
25
+ #define arc4random_buf libressl_arc4random_buf
26
+ void arc4random_buf(void *_buf, size_t n);
27
+ #define arc4random_uniform libressl_arc4random_uniform
28
+ uint32_t arc4random_uniform(uint32_t upper_bound);
29
+ #endif
30
+
31
+ #ifndef HAVE_FREEZERO
32
+ #define freezero libressl_freezero
33
+ void freezero(void *ptr, size_t sz);
34
+ #endif
35
+
36
+ #ifndef HAVE_GETPROGNAME
37
+ #define getprogname libressl_getprogname
38
+ const char * getprogname(void);
39
+ #endif
40
+
41
+ #ifndef HAVE_REALLOCARRAY
42
+ #define reallocarray libressl_reallocarray
43
+ void *reallocarray(void *, size_t, size_t);
44
+ #endif
45
+
46
+ #ifndef HAVE_RECALLOCARRAY
47
+ #define recallocarray libressl_recallocarray
48
+ void *recallocarray(void *, size_t, size_t, size_t);
49
+ #endif
50
+
51
+ #ifndef HAVE_STRTONUM
52
+ #define strtonum libressl_strtonum
53
+ long long strtonum(const char *nptr, long long minval,
54
+ long long maxval, const char **errstr);
55
+ #endif
56
+
57
+ #endif
@@ -0,0 +1,98 @@
1
+ /*
2
+ * Public domain
3
+ * string.h compatibility shim
4
+ */
5
+
6
+ #ifndef LIBCRYPTOCOMPAT_STRING_H
7
+ #define LIBCRYPTOCOMPAT_STRING_H
8
+
9
+ #ifdef _MSC_VER
10
+ #if _MSC_VER >= 1900
11
+ #include <../ucrt/string.h>
12
+ #else
13
+ #include <../include/string.h>
14
+ #endif
15
+ #else
16
+ #include_next <string.h>
17
+ #endif
18
+
19
+ #include <sys/types.h>
20
+
21
+ #if defined(__sun) || defined(_AIX) || defined(__hpux)
22
+ /* Some functions historically defined in string.h were placed in strings.h by
23
+ * SUS. Use the same hack as OS X and FreeBSD use to work around on AIX,
24
+ * Solaris, and HPUX.
25
+ */
26
+ #include <strings.h>
27
+ #endif
28
+
29
+ #ifndef HAVE_STRCASECMP
30
+ #define strcasecmp libressl_strcasecmp
31
+ int strcasecmp(const char *s1, const char *s2);
32
+ #define strncasecmp libressl_strncasecmp
33
+ int strncasecmp(const char *s1, const char *s2, size_t len);
34
+ #endif
35
+
36
+ #ifndef HAVE_STRLCPY
37
+ #define strlcpy libressl_strlcpy
38
+ size_t strlcpy(char *dst, const char *src, size_t siz);
39
+ #endif
40
+
41
+ #ifndef HAVE_STRLCAT
42
+ #define strlcat libressl_strlcat
43
+ size_t strlcat(char *dst, const char *src, size_t siz);
44
+ #endif
45
+
46
+ #ifndef HAVE_STRNDUP
47
+ #define strndup libressl_strndup
48
+ char * strndup(const char *str, size_t maxlen);
49
+ /* the only user of strnlen is strndup, so only build it if needed */
50
+ #ifndef HAVE_STRNLEN
51
+ #define strnlen libressl_strnlen
52
+ size_t strnlen(const char *str, size_t maxlen);
53
+ #endif
54
+ #endif
55
+
56
+ #ifndef HAVE_STRSEP
57
+ #define strsep libressl_strsep
58
+ char *strsep(char **stringp, const char *delim);
59
+ #endif
60
+
61
+ #ifndef HAVE_EXPLICIT_BZERO
62
+ #define explicit_bzero libressl_explicit_bzero
63
+ void explicit_bzero(void *, size_t);
64
+ #endif
65
+
66
+ #ifndef HAVE_TIMINGSAFE_BCMP
67
+ #define timingsafe_bcmp libressl_timingsafe_bcmp
68
+ int timingsafe_bcmp(const void *b1, const void *b2, size_t n);
69
+ #endif
70
+
71
+ #ifndef HAVE_TIMINGSAFE_MEMCMP
72
+ #define timingsafe_memcmp libressl_timingsafe_memcmp
73
+ int timingsafe_memcmp(const void *b1, const void *b2, size_t len);
74
+ #endif
75
+
76
+ #ifndef HAVE_MEMMEM
77
+ #define memmem libressl_memmem
78
+ void * memmem(const void *big, size_t big_len, const void *little,
79
+ size_t little_len);
80
+ #endif
81
+
82
+ #ifdef _WIN32
83
+ #include <errno.h>
84
+
85
+ static inline char *
86
+ posix_strerror(int errnum)
87
+ {
88
+ if (errnum == ECONNREFUSED) {
89
+ return "Connection refused";
90
+ }
91
+ return strerror(errnum);
92
+ }
93
+
94
+ #define strerror(errnum) posix_strerror(errnum)
95
+
96
+ #endif
97
+
98
+ #endif
@@ -0,0 +1,18 @@
1
+ /* $OpenBSD: _null.h,v 1.2 2016/09/09 22:07:58 millert Exp $ */
2
+
3
+ /*
4
+ * Written by Todd C. Miller, September 9, 2016
5
+ * Public domain.
6
+ */
7
+
8
+ #ifndef NULL
9
+ #if !defined(__cplusplus)
10
+ #define NULL ((void *)0)
11
+ #elif __cplusplus >= 201103L
12
+ #define NULL nullptr
13
+ #elif defined(__GNUG__)
14
+ #define NULL __null
15
+ #else
16
+ #define NULL 0L
17
+ #endif
18
+ #endif
@@ -0,0 +1,11 @@
1
+ /*
2
+ * Public domain
3
+ * sys/ioctl.h compatibility shim
4
+ */
5
+
6
+ #ifndef _WIN32
7
+ #include_next <sys/ioctl.h>
8
+ #else
9
+ #include <win32netcompat.h>
10
+ #define ioctl(fd, type, arg) ioctlsocket(fd, type, arg)
11
+ #endif
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Public domain
3
+ * sys/mman.h compatibility shim
4
+ */
5
+
6
+ #include_next <sys/mman.h>
7
+
8
+ #ifndef LIBCRYPTOCOMPAT_MMAN_H
9
+ #define LIBCRYPTOCOMPAT_MMAN_H
10
+
11
+ #ifndef MAP_ANON
12
+ #ifdef MAP_ANONYMOUS
13
+ #define MAP_ANON MAP_ANONYMOUS
14
+ #else
15
+ #error "System does not support mapping anonymous pages?"
16
+ #endif
17
+ #endif
18
+
19
+ #endif
@@ -0,0 +1,15 @@
1
+ /*
2
+ * Public domain
3
+ * sys/param.h compatibility shim
4
+ */
5
+
6
+ #ifndef LIBCRYPTOCOMPAT_SYS_PARAM_H
7
+ #define LIBCRYPTOCOMPAT_SYS_PARAM_H
8
+
9
+ #ifdef _MSC_VER
10
+ #include <winsock2.h>
11
+ #else
12
+ #include_next <sys/param.h>
13
+ #endif
14
+
15
+ #endif