- Update to 20061204
PR: ports/106700 Submitted by: Rudolf Cejka <cejkar@fit.vutbr.cz> (maintainer)
This commit is contained in:
@@ -6,8 +6,7 @@
|
||||
#
|
||||
|
||||
PORTNAME= tnftpd
|
||||
PORTVERSION= 20040810
|
||||
PORTREVISION= 1
|
||||
PORTVERSION= 20061204
|
||||
CATEGORIES= ftp ipv6
|
||||
MASTER_SITES= ftp://ftp.netbsd.org/pub/NetBSD/misc/tnftp/
|
||||
|
||||
@@ -28,6 +27,12 @@ DOCS= ChangeLog README THANKS COPYING
|
||||
|
||||
MAN5= ftpd.conf.5 ftpusers.5
|
||||
MAN8= tnftpd.8
|
||||
PLIST_FILES= libexec/tnftpd \
|
||||
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog \
|
||||
%%PORTDOCS%%%%DOCSDIR%%/README \
|
||||
%%PORTDOCS%%%%DOCSDIR%%/THANKS \
|
||||
%%PORTDOCS%%%%DOCSDIR%%/COPYING
|
||||
PLIST_DIRS= %%PORTDOCS%%%%DOCSDIR%%
|
||||
|
||||
FIXPREFIX= ftpd.8 ftpd.conf.5 ftpusers.5
|
||||
|
||||
@@ -41,7 +46,6 @@ pre-patch:
|
||||
s@^\.Sx /etc/@.Sx ${PREFIX}/etc/@g; \
|
||||
s@^\.Bl -tag -width /etc/@.Bl -tag -width ${PREFIX}/etc/@g; \
|
||||
s@${PREFIX}/etc/shells@/etc/shells@g; \
|
||||
s@${PREFIX}/etc/motd@/etc/motd@g; \
|
||||
s@${PREFIX}/etc/nologin@/etc/nologin@g; \
|
||||
s@${PREFIX}/etc/pwd.db@/etc/pwd.db@g" \
|
||||
${WRKSRC}/src/${f}
|
||||
@@ -59,9 +63,9 @@ do-install:
|
||||
${INSTALL_MAN} ${WRKSRC}/src/ftpd.conf.5 ${PREFIX}/man/man5
|
||||
${INSTALL_MAN} ${WRKSRC}/src/ftpusers.5 ${PREFIX}/man/man5
|
||||
.if !defined(NOPORTDOCS)
|
||||
${MKDIR} ${PREFIX}/share/doc/${PORTNAME}
|
||||
${MKDIR} ${DOCSDIR}
|
||||
.for f in ${DOCS}
|
||||
${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/share/doc/${PORTNAME}/
|
||||
${INSTALL_DATA} ${WRKSRC}/${f} ${DOCSDIR}
|
||||
.endfor
|
||||
.endif
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
MD5 (tnftpd-20040810.tar.gz) = a51e89237973db43ae3fd0bb448e9ae4
|
||||
SHA256 (tnftpd-20040810.tar.gz) = 4e181d36638a69c58f0ab4a423a61e16cf2f18476cf314f3d0789f11737de5f1
|
||||
SIZE (tnftpd-20040810.tar.gz) = 178638
|
||||
MD5 (tnftpd-20061204.tar.gz) = dada97588519fea2535678b6652ecf64
|
||||
SHA256 (tnftpd-20061204.tar.gz) = 7cc0532a8d492ed79ced7c44c3351829021169cc1e75bff8fd1d1066f0c2a2cc
|
||||
SIZE (tnftpd-20061204.tar.gz) = 187164
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
--- configure.orig Mon May 17 14:46:54 2004
|
||||
+++ configure Mon May 17 14:47:14 2004
|
||||
@@ -2434,6 +2434,7 @@
|
||||
|
||||
Fix off_t size detection, so that determined off_t size is 8 instead of 0.
|
||||
|
||||
--- configure.orig Wed Dec 13 11:00:41 2006
|
||||
+++ configure Wed Dec 13 11:02:41 2006
|
||||
@@ -2455,6 +2455,7 @@
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2425 "configure"
|
||||
#line 2457 "configure"
|
||||
#include "confdefs.h"
|
||||
+#include <sys/types.h>
|
||||
#include <stdio.h>
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
--- libnetbsd/glob.c.orig Mon Dec 15 13:18:43 2003
|
||||
+++ libnetbsd/glob.c Wed Dec 13 08:16:13 2006
|
||||
@@ -497,7 +497,8 @@
|
||||
* we save one character so that we can use ptr >= limit,
|
||||
* in the general case when we are appending non nul chars only.
|
||||
*/
|
||||
- return(glob2(pathbuf, pathbuf, pathbuf + sizeof(pathbuf) - 1, pattern,
|
||||
+ return(glob2(pathbuf, pathbuf,
|
||||
+ pathbuf + (sizeof(pathbuf) / sizeof(*pathbuf)) - 1, pattern,
|
||||
pglob, limit));
|
||||
}
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
--- src/Makefile.in-orig Mon Feb 17 22:57:18 2003
|
||||
+++ src/Makefile.in Mon Feb 17 22:57:48 2003
|
||||
|
||||
FreeBSD does have support for utmp/wtmp, so include relevant files into
|
||||
a build.
|
||||
|
||||
--- src/Makefile.in.orig Wed Dec 13 13:03:12 2006
|
||||
+++ src/Makefile.in Wed Dec 13 13:03:47 2006
|
||||
@@ -23,8 +23,7 @@
|
||||
INSTALL = @INSTALL@
|
||||
|
||||
|
||||
@@ -1,6 +1,41 @@
|
||||
--- src/ftpd.c-orig Wed Aug 18 17:22:30 2004
|
||||
+++ src/ftpd.c Wed Aug 18 17:27:28 2004
|
||||
@@ -450,12 +450,12 @@
|
||||
|
||||
Add -C user@host support instead of just -C user and add support for
|
||||
IPv6 in ftpusers.
|
||||
|
||||
FreeBSD does not have _PASSWORD_CHGNOW defined, so use direct constant
|
||||
instead.
|
||||
|
||||
We are sure, that we have good LOGIN_NAME_MAX from tnftpd.h, so use it
|
||||
instead of unnecessarily conservative _POSIX_LOGIN_NAME_MAX.
|
||||
|
||||
--- src/ftpd.c.orig Wed Sep 27 07:22:18 2006
|
||||
+++ src/ftpd.c Thu Dec 14 00:19:55 2006
|
||||
@@ -371,6 +371,24 @@
|
||||
break;
|
||||
|
||||
case 'C':
|
||||
+ if ((p = strchr(optarg, '@')) != NULL) {
|
||||
+ *p++ = '\0';
|
||||
+ strlcpy(remotehost, p, MAXHOSTNAMELEN + 1);
|
||||
+ if (inet_pton(AF_INET, p,
|
||||
+ &his_addr.su_addr) == 1) {
|
||||
+ his_addr.su_family = AF_INET;
|
||||
+ his_addr.su_len =
|
||||
+ sizeof(his_addr.si_su.su_sin);
|
||||
+#ifdef INET6
|
||||
+ } else if (inet_pton(AF_INET6, p,
|
||||
+ &his_addr.su_6addr) == 1) {
|
||||
+ his_addr.su_family = AF_INET6;
|
||||
+ his_addr.su_len =
|
||||
+ sizeof(his_addr.si_su.su_sin6);
|
||||
+#endif
|
||||
+ } else
|
||||
+ his_addr.su_family = AF_UNSPEC;
|
||||
+ }
|
||||
pw = sgetpwnam(optarg);
|
||||
exit(checkaccess(optarg) ? 0 : 1);
|
||||
/* NOTREACHED */
|
||||
@@ -496,12 +514,12 @@
|
||||
exit(1);
|
||||
} else if (l <= 0) {
|
||||
syslog(LOG_WARNING, "using conservative LOGIN_NAME_MAX value");
|
||||
@@ -15,3 +50,60 @@
|
||||
#endif
|
||||
curname = malloc(curname_len);
|
||||
if (curname == NULL) {
|
||||
@@ -1166,18 +1184,38 @@
|
||||
|
||||
/* have a host specifier */
|
||||
if ((p = strchr(word, '@')) != NULL) {
|
||||
- unsigned long net, mask, addr;
|
||||
- int bits;
|
||||
+ char net[16], mask[16], *addr;
|
||||
+ int addrlen, bits, bytes, a;
|
||||
|
||||
*p++ = '\0';
|
||||
/* check against network or CIDR */
|
||||
- if (isdigit((unsigned char)*p) &&
|
||||
- (bits = inet_net_pton(AF_INET, p,
|
||||
- &net, sizeof(net))) != -1) {
|
||||
- net = ntohl(net);
|
||||
- mask = 0xffffffffU << (32 - bits);
|
||||
- addr = ntohl(his_addr.su_addr.s_addr);
|
||||
- if ((addr & mask) != net)
|
||||
+ memset(net, 0x00, sizeof(net));
|
||||
+ if ((bits = inet_net_pton(his_addr.su_family, p, net,
|
||||
+ sizeof(net))) != -1) {
|
||||
+#ifdef INET6
|
||||
+ if (his_addr.su_family == AF_INET) {
|
||||
+#endif
|
||||
+ addrlen = 4;
|
||||
+ addr = (char *)&his_addr.su_addr;
|
||||
+#ifdef INET6
|
||||
+ } else {
|
||||
+ addrlen = 16;
|
||||
+ addr = (char *)&his_addr.su_6addr;
|
||||
+ }
|
||||
+#endif
|
||||
+ bytes = bits / 8;
|
||||
+ bits = bits % 8;
|
||||
+ if (bytes > 0)
|
||||
+ memset(mask, 0xFF, bytes);
|
||||
+ if (bytes < addrlen)
|
||||
+ mask[bytes] = 0xFF << (8 - bits);
|
||||
+ if (bytes + 1 < addrlen)
|
||||
+ memset(mask + bytes + 1, 0x00,
|
||||
+ addrlen - bytes - 1);
|
||||
+ for (a = 0; a < addrlen; a++)
|
||||
+ if ((addr[a] & mask[a]) != net[a])
|
||||
+ break;
|
||||
+ if (a < addrlen)
|
||||
continue;
|
||||
|
||||
/* check against hostname glob */
|
||||
@@ -3744,7 +3782,7 @@
|
||||
expire = pwent->pw_expire;
|
||||
#endif
|
||||
#if HAVE_PW_CHANGE
|
||||
- change = (pwent->pw_change == _PASSWORD_CHGNOW)? now : pwent->pw_change;
|
||||
+ change = (pwent->pw_change == -1)? now : pwent->pw_change;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
--- src/logutmp.c-orig Thu Jan 29 15:43:57 2004
|
||||
+++ src/logutmp.c Thu Jan 29 15:44:33 2004
|
||||
|
||||
FreeBSD does not have header file util.h, fortunately it is not needed.
|
||||
Add header file time.h for time().
|
||||
|
||||
--- src/logutmp.c.orig Wed Dec 13 13:16:58 2006
|
||||
+++ src/logutmp.c Wed Dec 13 13:17:18 2006
|
||||
@@ -59,13 +59,13 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
--- src/logwtmp.c-orig Thu Jan 29 15:45:32 2004
|
||||
+++ src/logwtmp.c Thu Jan 29 15:47:34 2004
|
||||
|
||||
FreeBSD does not have header file util.h, fortunately it is not needed. Add
|
||||
header files sys/socket.h and netdb.h for getaddrinfo() and getnameinfo().
|
||||
If host name is longer than UT_HOSTSIZE (16 characters), log numeric
|
||||
address to utmp.
|
||||
|
||||
--- src/logwtmp.c.orig Wed Dec 13 13:26:40 2006
|
||||
+++ src/logwtmp.c Wed Dec 13 14:14:52 2006
|
||||
@@ -42,11 +42,13 @@
|
||||
|
||||
#include <sys/types.h>
|
||||
@@ -14,7 +20,7 @@
|
||||
#include <signal.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
@@ -56,7 +58,6 @@
|
||||
@@ -59,7 +61,6 @@
|
||||
#ifdef SUPPORT_UTMPX
|
||||
#include <utmpx.h>
|
||||
#endif
|
||||
@@ -22,7 +28,7 @@
|
||||
|
||||
#ifdef KERBEROS5
|
||||
#include <krb5/krb5.h>
|
||||
@@ -79,6 +80,26 @@
|
||||
@@ -88,6 +89,26 @@
|
||||
{
|
||||
struct utmp ut;
|
||||
struct stat buf;
|
||||
@@ -47,5 +53,5 @@
|
||||
+ }
|
||||
+ }
|
||||
|
||||
if (fd < 0 && (fd = open(_PATH_WTMP, O_WRONLY|O_APPEND, 0)) < 0)
|
||||
if (fd < 0)
|
||||
return;
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
--- tnftpd.h-orig Wed Dec 17 02:43:41 2003
|
||||
+++ tnftpd.h Tue Feb 3 18:14:15 2004
|
||||
@@ -426,5 +426,9 @@
|
||||
|
||||
FreeBSD does not have LOGIN_NAME_MAX, but it has MAXLOGNAME instead,
|
||||
so use it as much as possible.
|
||||
|
||||
--- tnftpd.h.orig Wed Dec 13 14:38:43 2006
|
||||
+++ tnftpd.h Wed Dec 13 14:39:24 2006
|
||||
@@ -479,7 +479,11 @@
|
||||
#define TM_YEAR_BASE 1900
|
||||
|
||||
#if ! defined(LOGIN_NAME_MAX)
|
||||
@@ -10,3 +14,5 @@
|
||||
# define LOGIN_NAME_MAX (9)
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
#if ! defined(_POSIX_LOGIN_NAME_MAX)
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
tnftpd is a port of the enhanced NetBSD ftp server to other systems.
|
||||
(Note: lukemftpd was renamed to tnftpd)
|
||||
tnftpd (formerly known as lukemftpd) is a port of the enhanced NetBSD ftp
|
||||
server to other systems.
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
libexec/tnftpd
|
||||
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
|
||||
%%PORTDOCS%%%%DOCSDIR%%/README
|
||||
%%PORTDOCS%%%%DOCSDIR%%/THANKS
|
||||
%%PORTDOCS%%%%DOCSDIR%%/COPYING
|
||||
%%PORTDOCS%%@dirrm %%DOCSDIR%%
|
||||
Reference in New Issue
Block a user