blob: 42fbbe90692451eecc6bfd5fc62fecd33b1c10fd [file] [log] [blame]
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