diff options
-rw-r--r-- | configure.ac.tpl | 108 | ||||
-rw-r--r-- | include/stdlib.h | 8 | ||||
-rw-r--r-- | include/string.h | 15 | ||||
-rw-r--r-- | include/unistd.h | 5 |
4 files changed, 81 insertions, 55 deletions
diff --git a/configure.ac.tpl b/configure.ac.tpl index d7bb8aa..bb5e04a 100644 --- a/configure.ac.tpl +++ b/configure.ac.tpl | |||
@@ -57,60 +57,60 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], | |||
57 | ) | 57 | ) |
58 | CFLAGS="$save_cflags $AM_CFLAGS" | 58 | CFLAGS="$save_cflags $AM_CFLAGS" |
59 | 59 | ||
60 | AC_CHECK_FUNC(strlcpy,[AC_SEARCH_LIBS(strlcpy,, [NO_STRLCPY=], | 60 | AC_CHECK_FUNC(strlcpy, |
61 | [NO_STRLCPY=yes])], [NO_STRLCPY=yes]) | 61 | AM_CONDITIONAL(NO_STRLCPY, false), |
62 | AC_SUBST(NO_STRLCPY) | 62 | AC_DEFINE(NO_STRLCPY) |
63 | AM_CONDITIONAL(NO_STRLCPY, test "x$NO_STRLCPY" = "xyes") | 63 | AM_CONDITIONAL(NO_STRLCPY, true)) |
64 | 64 | ||
65 | AC_CHECK_FUNC(strlcat,[AC_SEARCH_LIBS(strlcat,, [NO_STRLCAT=], | 65 | AC_CHECK_FUNC(strlcat, |
66 | [NO_STRLCAT=yes])], [NO_STRLCAT=yes]) | 66 | AM_CONDITIONAL(NO_STRLCAT, false), |
67 | AC_SUBST(NO_STRLCAT) | 67 | AC_DEFINE(NO_STRLCAT) |
68 | AM_CONDITIONAL(NO_STRLCAT, test "x$NO_STRLCAT" = "xyes") | 68 | AM_CONDITIONAL(NO_STRLCAT, true)) |
69 | 69 | ||
70 | AC_CHECK_FUNC(strndup,[AC_SEARCH_LIBS(strndup,, [NO_STRNDUP=], | 70 | AC_CHECK_FUNC(strndup, |
71 | [NO_STRNDUP=yes])], [NO_STRNDUP=yes]) | 71 | AM_CONDITIONAL(NO_STRNDUP, false), |
72 | AC_SUBST(NO_STRNDUP) | 72 | AC_DEFINE(NO_STRNDUP) |
73 | AM_CONDITIONAL(NO_STRNDUP, test "x$NO_STRNDUP" = "xyes") | 73 | AM_CONDITIONAL(NO_STRNDUP, true)) |
74 | 74 | ||
75 | AC_CHECK_FUNC(reallocarray,[AC_SEARCH_LIBS(reallocarray,, [NO_REALLOCARRAY=], | 75 | AC_CHECK_FUNC(reallocarray, |
76 | [NO_REALLOCARRAY=yes])], [NO_REALLOCARRAY=yes]) | 76 | AM_CONDITIONAL(NO_REALLOCARRAY, false), |
77 | AC_SUBST(NO_REALLOCARRAY) | 77 | AC_DEFINE(NO_REALLOCARRAY) |
78 | AM_CONDITIONAL(NO_REALLOCARRAY, test "x$NO_REALLOCARRAY" = "xyes") | 78 | AM_CONDITIONAL(NO_REALLOCARRAY, true)) |
79 | 79 | ||
80 | AC_CHECK_FUNC(timingsafe_bcmp,[AC_SEARCH_LIBS(timingsafe_bcmp,, [NO_TIMINGSAFE_BCMP=], | 80 | AC_CHECK_FUNC(timingsafe_bcmp, |
81 | [NO_TIMINGSAFE_BCMP=yes])], [NO_TIMINGSAFE_BCMP=yes]) | 81 | AM_CONDITIONAL(NO_TIMINGSAFE_BCMP, false), |
82 | AC_SUBST(NO_TIMINGSAFE_BCMP) | 82 | AC_DEFINE(NO_TIMINGSAFE_BCMP) |
83 | AM_CONDITIONAL(NO_TIMINGSAFE_BCMP, test "x$NO_TIMINGSAFE_BCMP" = "xyes") | 83 | AM_CONDITIONAL(NO_TIMINGSAFE_BCMP, true)) |
84 | 84 | ||
85 | AC_CHECK_FUNC(timingsafe_memcmp,[AC_SEARCH_LIBS(timingsafe_memcmp,, [NO_TIMINGSAFE_MEMCMP=], | 85 | AC_CHECK_FUNC(timingsafe_memcmp, |
86 | [NO_TIMINGSAFE_MEMCMP=yes])], [NO_TIMINGSAFE_MEMCMP=yes]) | 86 | AM_CONDITIONAL(NO_TIMINGSAFE_MEMCMP, false), |
87 | AC_SUBST(NO_TIMINGSAFE_MEMCMP) | 87 | AC_DEFINE(NO_TIMINGSAFE_MEMCMP) |
88 | AM_CONDITIONAL(NO_TIMINGSAFE_MEMCMP, test "x$NO_TIMINGSAFE_MEMCMP" = "xyes") | 88 | AM_CONDITIONAL(NO_TIMINGSAFE_MEMCMP, true)) |
89 | 89 | ||
90 | AC_CHECK_FUNC(arc4random_buf,[AC_SEARCH_LIBS(write,, [NO_ARC4RANDOM_BUF=], | 90 | AC_CHECK_FUNC(arc4random_buf, |
91 | [NO_ARC4RANDOM_BUF=yes])], [NO_ARC4RANDOM_BUF=yes]) | 91 | AM_CONDITIONAL(NO_ARC4RANDOM_BUF, false), |
92 | AC_SUBST(NO_ARC4RANDOM_BUF) | 92 | AC_DEFINE(NO_ARC4RANDOM_BUF) |
93 | AM_CONDITIONAL(NO_ARC4RANDOM_BUF, test "x$NO_ARC4RANDOM_BUF" = "xyes") | 93 | AM_CONDITIONAL(NO_ARC4RANDOM_BUF, true)) |
94 | 94 | ||
95 | AC_CHECK_FUNC(getentropy,[AC_SEARCH_LIBS(write,, [NO_GETENTROPY=], | 95 | AC_CHECK_FUNC(getentropy, |
96 | [NO_GETENTROPY=yes])], [NO_GETENTROPY=yes]) | 96 | AM_CONDITIONAL(NO_GETENTROPY, false), |
97 | AC_SUBST(NO_GETENTROPY) | 97 | AC_DEFINE(NO_GETENTROPY) |
98 | AM_CONDITIONAL(NO_GETENTROPY, test "x$NO_GETENTROPY" = "xyes") | 98 | AM_CONDITIONAL(NO_GETENTROPY, true)) |
99 | 99 | ||
100 | AC_CHECK_FUNC(issetugid,[AC_SEARCH_LIBS(write,, [NO_ISSETUGID=], | 100 | AC_CHECK_FUNC(issetugid, |
101 | [NO_ISSETUGID=yes])], [NO_ISSETUGID=yes]) | 101 | AM_CONDITIONAL(NO_ISSETUGID, false), |
102 | AC_SUBST(NO_ISSETUGID) | 102 | AC_DEFINE(NO_ISSETUGID) |
103 | AM_CONDITIONAL(NO_ISSETUGID, test "x$NO_ISSETUGID" = "xyes") | 103 | AM_CONDITIONAL(NO_ISSETUGID, true)) |
104 | 104 | ||
105 | AC_CHECK_FUNC(strtonum,[AC_SEARCH_LIBS(write,, [NO_STRTONUM=], | 105 | AC_CHECK_FUNC(strtonum, |
106 | [NO_STRTONUM=yes])], [NO_STRTONUM=yes]) | 106 | AM_CONDITIONAL(NO_STRTONUM, false), |
107 | AC_SUBST(NO_STRTONUM) | 107 | AC_DEFINE(NO_STRTONUM) |
108 | AM_CONDITIONAL(NO_STRTONUM, test "x$NO_STRTONUM" = "xyes") | 108 | AM_CONDITIONAL(NO_STRTONUM, true)) |
109 | 109 | ||
110 | AC_CHECK_FUNC(explicit_bzero,[AC_SEARCH_LIBS(write,, [NO_EXPLICIT_BZERO=], | 110 | AC_CHECK_FUNC(explicit_bzero, |
111 | [NO_EXPLICIT_BZERO=yes])], [NO_EXPLICIT_BZERO=yes]) | 111 | AM_CONDITIONAL(NO_EXPLICIT_BZERO, false), |
112 | AC_SUBST(NO_EXPLICIT_BZERO) | 112 | AC_DEFINE(NO_EXPLICIT_BZERO) |
113 | AM_CONDITIONAL(NO_EXPLICIT_BZERO, test "x$NO_EXPLICIT_BZERO" = "xyes") | 113 | AM_CONDITIONAL(NO_EXPLICIT_BZERO, true)) |
114 | 114 | ||
115 | AC_CHECK_FUNC(getauxval, AC_DEFINE(HAVE_GETAUXVAL)) | 115 | AC_CHECK_FUNC(getauxval, AC_DEFINE(HAVE_GETAUXVAL)) |
116 | 116 | ||
diff --git a/include/stdlib.h b/include/stdlib.h index 6c2de93..c314f38 100644 --- a/include/stdlib.h +++ b/include/stdlib.h | |||
@@ -7,10 +7,18 @@ | |||
7 | #include <sys/time.h> | 7 | #include <sys/time.h> |
8 | #include <stdint.h> | 8 | #include <stdint.h> |
9 | 9 | ||
10 | #ifdef NO_ARC4RANDOM_BUF | ||
10 | uint32_t arc4random(void); | 11 | uint32_t arc4random(void); |
11 | void arc4random_buf(void *_buf, size_t n); | 12 | void arc4random_buf(void *_buf, size_t n); |
13 | #endif | ||
14 | |||
15 | #ifdef NO_REALLOCARRAY | ||
12 | void *reallocarray(void *, size_t, size_t); | 16 | void *reallocarray(void *, size_t, size_t); |
17 | #endif | ||
18 | |||
19 | #ifdef NO_STRTONUM | ||
13 | long long strtonum(const char *nptr, long long minval, | 20 | long long strtonum(const char *nptr, long long minval, |
14 | long long maxval, const char **errstr); | 21 | long long maxval, const char **errstr); |
22 | #endif | ||
15 | 23 | ||
16 | #endif | 24 | #endif |
diff --git a/include/string.h b/include/string.h index cd3430a..c4bf1e4 100644 --- a/include/string.h +++ b/include/string.h | |||
@@ -12,21 +12,34 @@ | |||
12 | #include <strings.h> | 12 | #include <strings.h> |
13 | #endif | 13 | #endif |
14 | 14 | ||
15 | #ifdef NO_STRLCPY | ||
15 | size_t strlcpy(char *dst, const char *src, size_t siz); | 16 | size_t strlcpy(char *dst, const char *src, size_t siz); |
17 | #endif | ||
16 | 18 | ||
19 | #ifdef NO_STRLCAT | ||
17 | size_t strlcat(char *dst, const char *src, size_t siz); | 20 | size_t strlcat(char *dst, const char *src, size_t siz); |
21 | #endif | ||
18 | 22 | ||
23 | #ifdef NO_STRNDUP | ||
19 | char * strndup(const char *str, size_t maxlen); | 24 | char * strndup(const char *str, size_t maxlen); |
20 | |||
21 | size_t strnlen(const char *str, size_t maxlen); | 25 | size_t strnlen(const char *str, size_t maxlen); |
26 | #endif | ||
22 | 27 | ||
28 | #ifdef NO_EXPLICIT_BZERO | ||
23 | void explicit_bzero(void *, size_t); | 29 | void explicit_bzero(void *, size_t); |
30 | #endif | ||
24 | 31 | ||
32 | #ifdef NO_TIMINGSAFE_BCMP | ||
25 | int timingsafe_bcmp(const void *b1, const void *b2, size_t n); | 33 | int timingsafe_bcmp(const void *b1, const void *b2, size_t n); |
34 | #endif | ||
26 | 35 | ||
36 | #ifdef NO_TIMINGSAFE_MEMCMP | ||
27 | int timingsafe_memcmp(const void *b1, const void *b2, size_t len); | 37 | int timingsafe_memcmp(const void *b1, const void *b2, size_t len); |
38 | #endif | ||
28 | 39 | ||
40 | #ifdef NO_MEMMEM | ||
29 | void * memmem(const void *big, size_t big_len, const void *little, | 41 | void * memmem(const void *big, size_t big_len, const void *little, |
30 | size_t little_len); | 42 | size_t little_len); |
43 | #endif | ||
31 | 44 | ||
32 | #endif | 45 | #endif |
diff --git a/include/unistd.h b/include/unistd.h index ae82b95..037b11a 100644 --- a/include/unistd.h +++ b/include/unistd.h | |||
@@ -3,7 +3,12 @@ | |||
3 | #ifndef LIBCRYPTOCOMPAT_UNISTD_H | 3 | #ifndef LIBCRYPTOCOMPAT_UNISTD_H |
4 | #define LIBCRYPTOCOMPAT_UNISTD_H | 4 | #define LIBCRYPTOCOMPAT_UNISTD_H |
5 | 5 | ||
6 | #ifdef NO_GETENTROPY | ||
6 | int getentropy(void *buf, size_t buflen); | 7 | int getentropy(void *buf, size_t buflen); |
8 | #endif | ||
9 | |||
10 | #ifdef NO_ISSETUGID | ||
7 | int issetugid(void); | 11 | int issetugid(void); |
12 | #endif | ||
8 | 13 | ||
9 | #endif | 14 | #endif |