forked from Lainports/freebsd-ports
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;
|
|
|