mirror of
https://git.freebsd.org/ports.git
synced 2025-04-30 18:46:38 -04:00
While I'm here: - Switch to DISTVERSION as suggested by Porters Handbook - Make use of NetBSD's CDN and add a few additional mirrors - Add WWW url - Add license: [1] tnftpd contains a mix of BSD2CLAUSE (mostly the NetBSD derived code) and BSD3CLAUSE (inherited from the orignal UCB BSD code). tnftpd was previously BSD4CLAUSE but that was fixed in the upstream code a while ago so I changed the COPYING to reflect that. It's no more restrictive than BSD3CLAUSE now. ChangeLog: * Release as "tnftpd 20231001". * Always use $YACC even without --enable-maintainer-mode. * Update to NetBSD-ftpd 20230930: * Fix uninitialized memory usage in count_users(). * Fix pam_set_item() call with proper struct passed as PAM_SOCKADDR. * Build fixes: * Check for inet_net_pton() in -lresolv (for glibc). * Improve configure's display of make variables. * Remove deprecated autoconf macros. * Security fixes: * CVE-2020-7468: Improve error handling when switching UID/GID. * Prevent MLSD and MLST before authentication succeeds. * Update to NetBSD-ftpd 20230922: * Treat failed chdir/chroot for guest and chroot accounts as fatal. Also treat failed set{e,}(u,g}id calls as fatal. Addresses CVE-2020-7468, via FreeBSD. * Improve seteuid error handling, per suggestion by Simon Josefsson. * Add missing check_login checks for MLST and MLSD. * Sync libnetbsd replacements with NetBSD upstream: * Replace fgetln() with tools/compat implementation that handles embedded NULs. * Fix inet_net_pton() to avoid integer overflow in bits. * Fix inet_ntop() to set errno when returning NULL. * Fix inet_pton() to improve hex formatting. * Fix sl_add() to not update size unless realloc() succeeds. * Improve portability on NetBSD by providing own setprogname() and getprogname(), instead of defining global __progname. * Update example ftpusers to use example DNS and IP addresses. * Build fixes: * Improve configure's display of detected features. * Enable more POSIX extensions. * Only replace glob() if required GLOB_ flags aren't available. * Only replace fts_open() if required FTS_ flags aren't available. Suggested by: [1] Luke Mewburn <lukem@NetBSD.org> PR: 274209 MFH: 2023Q4
35 lines
1.1 KiB
C
35 lines
1.1 KiB
C
Looking at FreeBSD's manual page, it appears that FreeBSD 5.2 changed
|
|
the signature of the comparison function:
|
|
|
|
FTS * fts_open(char * const *path_argv, int options,
|
|
int (*compar)(const FTSENT * const *, const FTSENT * const *));
|
|
|
|
--- ls/ls.c.orig 2009-03-01 22:58:20 UTC
|
|
+++ ls/ls.c
|
|
@@ -73,7 +73,14 @@ static void display(FTSENT *, FTSENT *);
|
|
#include "extern.h"
|
|
|
|
static void display(FTSENT *, FTSENT *);
|
|
+
|
|
+/* workaround FreeBSD <fts.h> changing fts_open()'s compar signature */
|
|
+#if defined(__FreeBSD__) && defined(USE_FTS_H)
|
|
+static int mastercmp(const FTSENT * const *, const FTSENT * const *);
|
|
+#else
|
|
static int mastercmp(const FTSENT **, const FTSENT **);
|
|
+#endif
|
|
+
|
|
static void traverse(int, char **, int);
|
|
|
|
static void (*printfcn)(DISPLAY *);
|
|
@@ -595,7 +602,11 @@ static int
|
|
* All other levels use the sort function. Error entries remain unsorted.
|
|
*/
|
|
static int
|
|
+#if defined(__FreeBSD__) && defined(USE_FTS_H)
|
|
+mastercmp(const FTSENT * const *a, const FTSENT * const *b)
|
|
+#else
|
|
mastercmp(const FTSENT **a, const FTSENT **b)
|
|
+#endif
|
|
{
|
|
int a_info, b_info;
|
|
|