- Update to 20061204

PR:		ports/106700
Submitted by:	Rudolf Cejka <cejkar@fit.vutbr.cz> (maintainer)
This commit is contained in:
Martin Wilke
2006-12-14 12:34:40 +00:00
parent a92c740f29
commit ae012243f6
11 changed files with 148 additions and 47 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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>

View File

@@ -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));
}

View File

@@ -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@

View File

@@ -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

View File

@@ -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>

View File

@@ -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;

View File

@@ -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)

View File

@@ -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.

View File

@@ -1,6 +0,0 @@
libexec/tnftpd
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
%%PORTDOCS%%%%DOCSDIR%%/README
%%PORTDOCS%%%%DOCSDIR%%/THANKS
%%PORTDOCS%%%%DOCSDIR%%/COPYING
%%PORTDOCS%%@dirrm %%DOCSDIR%%