tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 21121eb23103b74692607d7001ad53e871811fd6
parent c408d0a7f97e96491d4eae1ec21043c85716abd2
Author: David Goulet <dgoulet@torproject.org>
Date:   Mon, 28 Nov 2022 09:37:12 -0500

Merge branch 'tor-gitlab/mr/652'

Diffstat:
Achanges/bsd_libc | 3+++
Msrc/lib/osinfo/libc.c | 18++++++++++++++++++
2 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/changes/bsd_libc b/changes/bsd_libc @@ -0,0 +1,3 @@ + o Minor bugfixes (compilation): + - Fix returning something other than "Unknown N/A" as libc version if we + build tor on an O.S. like DragonFlyBSD, FreeBSD, OpenBSD or NetBSD. diff --git a/src/lib/osinfo/libc.c b/src/lib/osinfo/libc.c @@ -31,6 +31,9 @@ const char * tor_libc_get_name(void) { +#if defined(__BSD_VISIBLE) || defined(__NETBSD_SOURCE) + return "BSD"; +#endif /* defined(__BSD_VISIBLE) || defined(__NETBSD_SOURCE) */ #ifdef __GLIBC__ return "Glibc"; #else /* !defined(__GLIBC__) */ @@ -43,6 +46,21 @@ tor_libc_get_name(void) const char * tor_libc_get_version_str(void) { +#if defined(__BSD_VISIBLE) || defined(__NETBSD_SOURCE) +#include <sys/param.h> +#ifdef __DragonFly_version + return STR(__DragonFly_version); +#endif +#ifdef __FreeBSD__ + return STR(__FreeBSD_version); +#endif +#ifdef __NetBSD_Version__ + return STR(__NetBSD_Version__); +#endif +#ifdef OpenBSD + return STR(OpenBSD); +#endif +#endif /* defined(__BSD_VISIBLE) || defined(__NETBSD_SOURCE) */ #ifdef CHECK_LIBC_VERSION const char *version = gnu_get_libc_version(); if (version == NULL)