| From 0a446e81ed77c20aa87563d45ef0ef8f5fa283d8 Mon Sep 17 00:00:00 2001 |
| From: Theo Buehler <tb@openbsd.org> |
| Date: Sat, 18 Nov 2023 10:53:09 +0100 |
| Subject: [PATCH] Prefix some compat symbols with libressl_ |
| |
| See #928. This isn't a full fix, but should remove much of the friction |
| already. |
| |
| Upstream: https://github.com/libressl/portable/pull/961/commits/0a446e81ed77c20aa87563d45ef0ef8f5fa283d8 |
| Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
| --- |
| include/compat/stdio.h | 2 ++ |
| include/compat/stdlib.h | 10 ++++++++++ |
| include/compat/string.h | 11 +++++++++++ |
| 3 files changed, 23 insertions(+) |
| |
| diff --git a/include/compat/stdio.h b/include/compat/stdio.h |
| index d5725c9ac9..4ddd63aee1 100644 |
| --- a/include/compat/stdio.h |
| +++ b/include/compat/stdio.h |
| @@ -20,7 +20,9 @@ |
| |
| #ifndef HAVE_ASPRINTF |
| #include <stdarg.h> |
| +#define vasprintf libressl_vasprintf |
| int vasprintf(char **str, const char *fmt, va_list ap); |
| +#define asprintf libressl_asprintf |
| int asprintf(char **str, const char *fmt, ...); |
| #endif |
| |
| diff --git a/include/compat/stdlib.h b/include/compat/stdlib.h |
| index 2eaea244c0..76dc07c35a 100644 |
| --- a/include/compat/stdlib.h |
| +++ b/include/compat/stdlib.h |
| @@ -20,26 +20,36 @@ |
| #include <stdint.h> |
| |
| #ifndef HAVE_ARC4RANDOM_BUF |
| +#define arc4random libressl_arc4random |
| uint32_t arc4random(void); |
| +#define arc4random_buf libressl_arc4random_buf |
| void arc4random_buf(void *_buf, size_t n); |
| +#define arc4random_uniform libressl_arc4random_uniform |
| uint32_t arc4random_uniform(uint32_t upper_bound); |
| #endif |
| |
| #ifndef HAVE_FREEZERO |
| +#define freezero libressl_freezero |
| void freezero(void *ptr, size_t sz); |
| #endif |
| |
| #ifndef HAVE_GETPROGNAME |
| +#define getprogname libressl_getprogname |
| const char * getprogname(void); |
| #endif |
| |
| +#ifndef HAVE_REALLOCARRAY |
| +#define reallocarray libressl_reallocarray |
| void *reallocarray(void *, size_t, size_t); |
| +#endif |
| |
| #ifndef HAVE_RECALLOCARRAY |
| +#define recallocarray libressl_recallocarray |
| void *recallocarray(void *, size_t, size_t, size_t); |
| #endif |
| |
| #ifndef HAVE_STRTONUM |
| +#define strtonum libressl_strtonum |
| long long strtonum(const char *nptr, long long minval, |
| long long maxval, const char **errstr); |
| #endif |
| diff --git a/include/compat/string.h b/include/compat/string.h |
| index 4bf7519b5b..6a82793f62 100644 |
| --- a/include/compat/string.h |
| +++ b/include/compat/string.h |
| @@ -27,43 +27,54 @@ |
| #endif |
| |
| #ifndef HAVE_STRCASECMP |
| +#define strcasecmp libressl_strcasecmp |
| int strcasecmp(const char *s1, const char *s2); |
| +#define strncasecmp libressl_strncasecmp |
| int strncasecmp(const char *s1, const char *s2, size_t len); |
| #endif |
| |
| #ifndef HAVE_STRLCPY |
| +#define strlcpy libressl_strlcpy |
| size_t strlcpy(char *dst, const char *src, size_t siz); |
| #endif |
| |
| #ifndef HAVE_STRLCAT |
| +#define strlcat libressl_strlcat |
| size_t strlcat(char *dst, const char *src, size_t siz); |
| #endif |
| |
| #ifndef HAVE_STRNDUP |
| +#define strndup libressl_strndup |
| char * strndup(const char *str, size_t maxlen); |
| /* the only user of strnlen is strndup, so only build it if needed */ |
| #ifndef HAVE_STRNLEN |
| +#define strnlen libressl_strnlen |
| size_t strnlen(const char *str, size_t maxlen); |
| #endif |
| #endif |
| |
| #ifndef HAVE_STRSEP |
| +#define strsep libressl_strsep |
| char *strsep(char **stringp, const char *delim); |
| #endif |
| |
| #ifndef HAVE_EXPLICIT_BZERO |
| +#define explicit_bzero libressl_explicit_bzero |
| void explicit_bzero(void *, size_t); |
| #endif |
| |
| #ifndef HAVE_TIMINGSAFE_BCMP |
| +#define timingsafe_bcmp libressl_timingsafe_bcmp |
| int timingsafe_bcmp(const void *b1, const void *b2, size_t n); |
| #endif |
| |
| #ifndef HAVE_TIMINGSAFE_MEMCMP |
| +#define timingsafe_memcmp libressl_timingsafe_memcmp |
| int timingsafe_memcmp(const void *b1, const void *b2, size_t len); |
| #endif |
| |
| #ifndef HAVE_MEMMEM |
| +#define memmem libressl_memmem |
| void * memmem(const void *big, size_t big_len, const void *little, |
| size_t little_len); |
| #endif |