Handle several functions now being provided by glibc

We mention that these are now superseded by the glibc implementations,
make the headers cope with already declared functions on glibc-based
systems, and document this in the man pages.
This commit is contained in:
Guillem Jover 2017-09-02 19:55:50 +02:00
parent b4f7c065ba
commit 22fbd62368
5 changed files with 36 additions and 7 deletions

View File

@ -67,7 +67,9 @@ int sradixsort(const unsigned char **base, int nmemb,
const unsigned char *table, unsigned endbyte);
void *reallocf(void *ptr, size_t size);
#if defined(_GNU_SOURCE) && defined(__GLIBC__) && !__GLIBC_PREREQ(2, 26)
void *reallocarray(void *ptr, size_t nmemb, size_t size);
#endif
long long strtonum(const char *nptr, long long minval, long long maxval,
const char **errstr);

View File

@ -42,7 +42,9 @@ size_t strlcat(char *dst, const char *src, size_t siz);
char *strnstr(const char *str, const char *find, size_t str_len);
void strmode(mode_t mode, char *str);
#if defined(_GNU_SOURCE) && defined(__GLIBC__) && !__GLIBC_PREREQ(2, 25)
void explicit_bzero(void *buf, size_t len);
#endif
__END_DECLS
#endif

View File

@ -72,4 +72,5 @@ pass, making it useful for clearing sensitive memory such as a password.
The
.Fn explicit_bzero
function first appeared in
.Ox 5.5 .
.Ox 5.5 ,
glibc 2.25.

View File

@ -150,13 +150,36 @@ function can be used.
Otherwise the code needs to be prepared for neither of these functions being
available.
.El
.Sh SUPERSEDED
Some functions have been superseded by implementations in other system
libraries, and might disappear on the next SONAME bump, assuming those
other implementation have widespread deployment, or the implementations
are present in all major
.Nm libc
for example.
.Pp
In addition, the MD5 set of digest funtions are now provided by the
.Bl -tag -width 4m -compact
.It Fn MD5Init
.It Fn MD5Update
.It Fn MD5Pad
.It Fn MD5Final
.It Fn MD5Transform
.It Fn MD5End
.It Fn MD5File
.It Fn MD5FileChunk
.It Fn MD5Data
The set of MD5 digest functions are now provided by the
.Nm libmd
companion library, so it is advised to use that instead, as the ones
provided in
.Nm libbsd
might disappear on the next SONAME bump.
companion library, so it is advised to use that instead.
.It Fn explicit_bzero
This function is provided by
.Nm glibc
2.25.
.It Fn reallocarray
This function is provided by
.Nm glibc
2.26.
.El
.Sh SEE ALSO
.Xr arc4random 3bsd ,
.Xr bitstring 3bsd ,

View File

@ -102,4 +102,5 @@ is set to
.Sh HISTORY
.Fn reallocarray
appeared in
.Ox 5.6 .
.Ox 5.6 ,
glibc 2.26.