aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac.tpl108
-rw-r--r--include/stdlib.h8
-rw-r--r--include/string.h15
-rw-r--r--include/unistd.h5
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)
58CFLAGS="$save_cflags $AM_CFLAGS" 58CFLAGS="$save_cflags $AM_CFLAGS"
59 59
60AC_CHECK_FUNC(strlcpy,[AC_SEARCH_LIBS(strlcpy,, [NO_STRLCPY=], 60AC_CHECK_FUNC(strlcpy,
61 [NO_STRLCPY=yes])], [NO_STRLCPY=yes]) 61 AM_CONDITIONAL(NO_STRLCPY, false),
62AC_SUBST(NO_STRLCPY) 62 AC_DEFINE(NO_STRLCPY)
63AM_CONDITIONAL(NO_STRLCPY, test "x$NO_STRLCPY" = "xyes") 63 AM_CONDITIONAL(NO_STRLCPY, true))
64 64
65AC_CHECK_FUNC(strlcat,[AC_SEARCH_LIBS(strlcat,, [NO_STRLCAT=], 65AC_CHECK_FUNC(strlcat,
66 [NO_STRLCAT=yes])], [NO_STRLCAT=yes]) 66 AM_CONDITIONAL(NO_STRLCAT, false),
67AC_SUBST(NO_STRLCAT) 67 AC_DEFINE(NO_STRLCAT)
68AM_CONDITIONAL(NO_STRLCAT, test "x$NO_STRLCAT" = "xyes") 68 AM_CONDITIONAL(NO_STRLCAT, true))
69 69
70AC_CHECK_FUNC(strndup,[AC_SEARCH_LIBS(strndup,, [NO_STRNDUP=], 70AC_CHECK_FUNC(strndup,
71 [NO_STRNDUP=yes])], [NO_STRNDUP=yes]) 71 AM_CONDITIONAL(NO_STRNDUP, false),
72AC_SUBST(NO_STRNDUP) 72 AC_DEFINE(NO_STRNDUP)
73AM_CONDITIONAL(NO_STRNDUP, test "x$NO_STRNDUP" = "xyes") 73 AM_CONDITIONAL(NO_STRNDUP, true))
74 74
75AC_CHECK_FUNC(reallocarray,[AC_SEARCH_LIBS(reallocarray,, [NO_REALLOCARRAY=], 75AC_CHECK_FUNC(reallocarray,
76 [NO_REALLOCARRAY=yes])], [NO_REALLOCARRAY=yes]) 76 AM_CONDITIONAL(NO_REALLOCARRAY, false),
77AC_SUBST(NO_REALLOCARRAY) 77 AC_DEFINE(NO_REALLOCARRAY)
78AM_CONDITIONAL(NO_REALLOCARRAY, test "x$NO_REALLOCARRAY" = "xyes") 78 AM_CONDITIONAL(NO_REALLOCARRAY, true))
79 79
80AC_CHECK_FUNC(timingsafe_bcmp,[AC_SEARCH_LIBS(timingsafe_bcmp,, [NO_TIMINGSAFE_BCMP=], 80AC_CHECK_FUNC(timingsafe_bcmp,
81 [NO_TIMINGSAFE_BCMP=yes])], [NO_TIMINGSAFE_BCMP=yes]) 81 AM_CONDITIONAL(NO_TIMINGSAFE_BCMP, false),
82AC_SUBST(NO_TIMINGSAFE_BCMP) 82 AC_DEFINE(NO_TIMINGSAFE_BCMP)
83AM_CONDITIONAL(NO_TIMINGSAFE_BCMP, test "x$NO_TIMINGSAFE_BCMP" = "xyes") 83 AM_CONDITIONAL(NO_TIMINGSAFE_BCMP, true))
84 84
85AC_CHECK_FUNC(timingsafe_memcmp,[AC_SEARCH_LIBS(timingsafe_memcmp,, [NO_TIMINGSAFE_MEMCMP=], 85AC_CHECK_FUNC(timingsafe_memcmp,
86 [NO_TIMINGSAFE_MEMCMP=yes])], [NO_TIMINGSAFE_MEMCMP=yes]) 86 AM_CONDITIONAL(NO_TIMINGSAFE_MEMCMP, false),
87AC_SUBST(NO_TIMINGSAFE_MEMCMP) 87 AC_DEFINE(NO_TIMINGSAFE_MEMCMP)
88AM_CONDITIONAL(NO_TIMINGSAFE_MEMCMP, test "x$NO_TIMINGSAFE_MEMCMP" = "xyes") 88 AM_CONDITIONAL(NO_TIMINGSAFE_MEMCMP, true))
89 89
90AC_CHECK_FUNC(arc4random_buf,[AC_SEARCH_LIBS(write,, [NO_ARC4RANDOM_BUF=], 90AC_CHECK_FUNC(arc4random_buf,
91 [NO_ARC4RANDOM_BUF=yes])], [NO_ARC4RANDOM_BUF=yes]) 91 AM_CONDITIONAL(NO_ARC4RANDOM_BUF, false),
92AC_SUBST(NO_ARC4RANDOM_BUF) 92 AC_DEFINE(NO_ARC4RANDOM_BUF)
93AM_CONDITIONAL(NO_ARC4RANDOM_BUF, test "x$NO_ARC4RANDOM_BUF" = "xyes") 93 AM_CONDITIONAL(NO_ARC4RANDOM_BUF, true))
94 94
95AC_CHECK_FUNC(getentropy,[AC_SEARCH_LIBS(write,, [NO_GETENTROPY=], 95AC_CHECK_FUNC(getentropy,
96 [NO_GETENTROPY=yes])], [NO_GETENTROPY=yes]) 96 AM_CONDITIONAL(NO_GETENTROPY, false),
97AC_SUBST(NO_GETENTROPY) 97 AC_DEFINE(NO_GETENTROPY)
98AM_CONDITIONAL(NO_GETENTROPY, test "x$NO_GETENTROPY" = "xyes") 98 AM_CONDITIONAL(NO_GETENTROPY, true))
99 99
100AC_CHECK_FUNC(issetugid,[AC_SEARCH_LIBS(write,, [NO_ISSETUGID=], 100AC_CHECK_FUNC(issetugid,
101 [NO_ISSETUGID=yes])], [NO_ISSETUGID=yes]) 101 AM_CONDITIONAL(NO_ISSETUGID, false),
102AC_SUBST(NO_ISSETUGID) 102 AC_DEFINE(NO_ISSETUGID)
103AM_CONDITIONAL(NO_ISSETUGID, test "x$NO_ISSETUGID" = "xyes") 103 AM_CONDITIONAL(NO_ISSETUGID, true))
104 104
105AC_CHECK_FUNC(strtonum,[AC_SEARCH_LIBS(write,, [NO_STRTONUM=], 105AC_CHECK_FUNC(strtonum,
106 [NO_STRTONUM=yes])], [NO_STRTONUM=yes]) 106 AM_CONDITIONAL(NO_STRTONUM, false),
107AC_SUBST(NO_STRTONUM) 107 AC_DEFINE(NO_STRTONUM)
108AM_CONDITIONAL(NO_STRTONUM, test "x$NO_STRTONUM" = "xyes") 108 AM_CONDITIONAL(NO_STRTONUM, true))
109 109
110AC_CHECK_FUNC(explicit_bzero,[AC_SEARCH_LIBS(write,, [NO_EXPLICIT_BZERO=], 110AC_CHECK_FUNC(explicit_bzero,
111 [NO_EXPLICIT_BZERO=yes])], [NO_EXPLICIT_BZERO=yes]) 111 AM_CONDITIONAL(NO_EXPLICIT_BZERO, false),
112AC_SUBST(NO_EXPLICIT_BZERO) 112 AC_DEFINE(NO_EXPLICIT_BZERO)
113AM_CONDITIONAL(NO_EXPLICIT_BZERO, test "x$NO_EXPLICIT_BZERO" = "xyes") 113 AM_CONDITIONAL(NO_EXPLICIT_BZERO, true))
114 114
115AC_CHECK_FUNC(getauxval, AC_DEFINE(HAVE_GETAUXVAL)) 115AC_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
10uint32_t arc4random(void); 11uint32_t arc4random(void);
11void arc4random_buf(void *_buf, size_t n); 12void arc4random_buf(void *_buf, size_t n);
13#endif
14
15#ifdef NO_REALLOCARRAY
12void *reallocarray(void *, size_t, size_t); 16void *reallocarray(void *, size_t, size_t);
17#endif
18
19#ifdef NO_STRTONUM
13long long strtonum(const char *nptr, long long minval, 20long 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
15size_t strlcpy(char *dst, const char *src, size_t siz); 16size_t strlcpy(char *dst, const char *src, size_t siz);
17#endif
16 18
19#ifdef NO_STRLCAT
17size_t strlcat(char *dst, const char *src, size_t siz); 20size_t strlcat(char *dst, const char *src, size_t siz);
21#endif
18 22
23#ifdef NO_STRNDUP
19char * strndup(const char *str, size_t maxlen); 24char * strndup(const char *str, size_t maxlen);
20
21size_t strnlen(const char *str, size_t maxlen); 25size_t strnlen(const char *str, size_t maxlen);
26#endif
22 27
28#ifdef NO_EXPLICIT_BZERO
23void explicit_bzero(void *, size_t); 29void explicit_bzero(void *, size_t);
30#endif
24 31
32#ifdef NO_TIMINGSAFE_BCMP
25int timingsafe_bcmp(const void *b1, const void *b2, size_t n); 33int timingsafe_bcmp(const void *b1, const void *b2, size_t n);
34#endif
26 35
36#ifdef NO_TIMINGSAFE_MEMCMP
27int timingsafe_memcmp(const void *b1, const void *b2, size_t len); 37int timingsafe_memcmp(const void *b1, const void *b2, size_t len);
38#endif
28 39
40#ifdef NO_MEMMEM
29void * memmem(const void *big, size_t big_len, const void *little, 41void * 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
6int getentropy(void *buf, size_t buflen); 7int getentropy(void *buf, size_t buflen);
8#endif
9
10#ifdef NO_ISSETUGID
7int issetugid(void); 11int issetugid(void);
12#endif
8 13
9#endif 14#endif