Skip to content

Commit

Permalink
Prefix some compat symbols with libressl_
Browse files Browse the repository at this point in the history
See libressl#928. This isn't a full fix, but should remove much of the friction
already.
  • Loading branch information
botovq authored and busterb committed Mar 3, 2024
1 parent 4764fae commit aa7584a
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 0 deletions.
2 changes: 2 additions & 0 deletions include/compat/stdio.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
10 changes: 10 additions & 0 deletions include/compat/stdlib.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
11 changes: 11 additions & 0 deletions include/compat/string.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit aa7584a

Please sign in to comment.