git: 9f992efe9464 - main - ftp/ftpmirror: Remove expired port:

From: Rene Ladan <rene_at_FreeBSD.org>
Date: Wed, 31 May 2023 21:12:16 UTC
The branch main has been updated by rene:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9f992efe9464b892299f34b8fd3127498766fcaa

commit 9f992efe9464b892299f34b8fd3127498766fcaa
Author:     Rene Ladan <rene@FreeBSD.org>
AuthorDate: 2023-05-31 21:12:07 +0000
Commit:     Rene Ladan <rene@FreeBSD.org>
CommitDate: 2023-05-31 21:12:07 +0000

    ftp/ftpmirror: Remove expired port:
    
    2023-05-31 ftp/ftpmirror: Abandonware
---
 MOVED                                 |   1 +
 ftp/Makefile                          |   1 -
 ftp/ftpmirror/Makefile                |  39 -----
 ftp/ftpmirror/distinfo                |   2 -
 ftp/ftpmirror/files/patch-FTP.pm      | 108 --------------
 ftp/ftpmirror/files/patch-Fan__Fan.pm |  11 --
 ftp/ftpmirror/files/patch-Makefile.in |  42 ------
 ftp/ftpmirror/files/patch-TCP.pm      | 154 --------------------
 ftp/ftpmirror/pkg-descr               |   5 -
 ftp/ftpmirror/pkg-plist               | 263 ----------------------------------
 10 files changed, 1 insertion(+), 625 deletions(-)

diff --git a/MOVED b/MOVED
index 34bfa3526638..e9e2b17a2be2 100644
--- a/MOVED
+++ b/MOVED
@@ -7596,3 +7596,4 @@ net-mgmt/zabbix62-java|net-mgmt/zabbix64-java|2023-05-31|Has expired: Will reach
 net-mgmt/zabbix62-proxy|net-mgmt/zabbix64-proxy|2023-05-31|Has expired: Will reach end of life on 2023-05-31
 net-mgmt/zabbix62-server|net-mgmt/zabbix64-server|2023-05-31|Has expired: Will reach end of life on 2023-05-31
 mail/esmtp||2023-05-31|Has expired: Upstream announced that this project is no longer being maintained. See https://esmtp.sourceforge.net/links.html for alternatives
+ftp/ftpmirror||2023-05-31|Has expired: Abandonware
diff --git a/ftp/Makefile b/ftp/Makefile
index f2767c41ca89..f1cc5aa31ef7 100644
--- a/ftp/Makefile
+++ b/ftp/Makefile
@@ -22,7 +22,6 @@
     SUBDIR += ftpcopy
     SUBDIR += ftpfind
     SUBDIR += ftplib
-    SUBDIR += ftpmirror
     SUBDIR += ftpproxy
     SUBDIR += ftpsesame
     SUBDIR += ftpsync
diff --git a/ftp/ftpmirror/Makefile b/ftp/ftpmirror/Makefile
deleted file mode 100644
index 524821a47b1d..000000000000
--- a/ftp/ftpmirror/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-PORTNAME=	ftpmirror
-PORTVERSION=	1.96
-PORTREVISION=	5
-CATEGORIES=	ftp
-MASTER_SITES=	ftp://ftp.sai.msu.su/pub/unix/FTP/mirror/
-
-MAINTAINER=	ports@FreeBSD.org
-COMMENT=	Utility to mirror directory hierarchy with FTP
-
-DEPRECATED=	Abandonware
-EXPIRATION_DATE=2023-05-31
-BROKEN=		Do not build
-
-LICENSE=	BSD2CLAUSE
-
-RUN_DEPENDS=	p5-Socket6>=0:net/p5-Socket6
-
-OPTIONS_DEFINE=	DOCS
-
-GNU_CONFIGURE=	yes
-
-USES=		shebangfix perl5
-SHEBANG_FILES=	ftpmirror rotate
-
-CONFIGURE_ENV+=	PERL="${PERL}" INSTALL_PROGRAM="${INSTALL_SCRIPT}"
-
-PORTDOCS=	README.jis RELEASE.jis
-
-post-configure:
-	@${REINPLACE_CMD} -i '' -e 's|%%PREFIX%%|${PREFIX}|' \
-		${WRKSRC}/Fan/Fan.pm
-
-post-install:
-	@${MKDIR} ${STAGEDIR}${DOCSDIR}
-.for i in ${PORTDOCS}
-	${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR}
-.endfor
-
-.include <bsd.port.mk>
diff --git a/ftp/ftpmirror/distinfo b/ftp/ftpmirror/distinfo
deleted file mode 100644
index 75893c7c56a8..000000000000
--- a/ftp/ftpmirror/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (ftpmirror-1.96.tar.gz) = 62766ea6b411fe254e9a12c139bb2468469e04692319b470d4d5d84276f8bbf0
-SIZE (ftpmirror-1.96.tar.gz) = 116782
diff --git a/ftp/ftpmirror/files/patch-FTP.pm b/ftp/ftpmirror/files/patch-FTP.pm
deleted file mode 100644
index fb8e8448105f..000000000000
--- a/ftp/ftpmirror/files/patch-FTP.pm
+++ /dev/null
@@ -1,108 +0,0 @@
-Index: Fan/FTP/FTP.pm
-===================================================================
-RCS file: /usr/home/ume/ncvs/src/ftpmirror/Fan/FTP/FTP.pm,v
-retrieving revision 1.1.1.2
-retrieving revision 1.6
-diff -u -r1.1.1.2 -r1.6
---- Fan/FTP/FTP.pm	2000/03/03 07:35:58	1.1.1.2
-+++ Fan/FTP/FTP.pm	2000/03/09 13:32:04	1.6
-@@ -60,6 +60,9 @@
- 
- use Carp;
- use Socket;
-+
-+use Socket6;
-+
- use Fan::TCP;
- use AutoLoader 'AUTOLOAD';
- 
-@@ -390,7 +393,7 @@
- 	$self->clearerror || return undef;
- 	$self->cleardataconn;	# always success
- 
--	my($port, $addr) = $self->sockname;
-+	my ($port, $addr, $family) = $self->sockname;
- 
- 	my $acpt = Fan::TCP->new();
- 	unless (defined($acpt)) {
-@@ -398,20 +401,28 @@
- 		return undef;
- 	}
- 
--	unless ($acpt->do_server(tcp_bindaddr => $addr)) {
-+	unless ($acpt->do_server(tcp_family => $family,
-+				 tcp_bindaddr => $addr)) {
- 		warn("Fan::TCP->do_server failed");
- 		return undef;
- 	}
- 
--	($port, $addr) = $acpt->sockname;
--	unless ($addr =~ tr/./,/ == 3) {
--		warn("ADDRESS=$addr must have just 3 dots");
--		return undef;
-+	($port, $addr, $family) = $acpt->sockname;
-+	my $command;
-+	if ($family == AF_INET) {
-+		unless ($addr =~ tr/./,/ == 3) {
-+			warn("ADDRESS=$addr must have just 3 dots");
-+			return undef;
-+		}
-+		$addr .= sprintf(",%d,%d", ($port >> 8) & 0xff, $port & 0xff);
-+		$command = 'PORT';
-+	} else {
-+		$addr = "|2|$addr|$port|";
-+		$command = 'EPRT';
- 	}
--	$addr .= sprintf(",%d,%d", ($port >> 8) & 0xff, $port & 0xff);
- 
--	unless ($self->putreq("PORT $addr") =~ /^2/) {
--		warn("PORT command failed\n") if $LOG > 5;
-+	unless ($self->putreq("$command $addr") =~ /^2/) {
-+		warn("$command command failed\n") if $LOG > 5;
- 		$self->error($self->{lastmesg});
- 		return undef;
- 	}
-@@ -437,12 +448,20 @@
- ;#
- sub pasv ($) {
- 	my $self = shift;
--	my $a_regexp = '\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)';
- 
- 	$self->clearerror	&&
- 	$self->cleardataconn	|| return undef;
- 
--	if ($self->putreq("PASV") !~ /^2/) {
-+	my $family = ($self->sockname)[2];
-+	my ($a_regexp, $command);
-+	if ($family == AF_INET) {
-+		$a_regexp = '\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)';
-+		$command = 'PASV';
-+	} else {
-+		$a_regexp = '\([^\d\s]{3}(\d+)[^\d\s]\)';
-+		$command = 'EPSV';
-+	}
-+	if ($self->putreq($command) !~ /^2/) {
- 		$self->error($self->{lastmesg});
- 		return undef;
- 	}
-@@ -452,11 +471,18 @@
- 	}
- 
- 	my $bindaddr = $self->{ftp_bindaddr};
--	my $port = $5 * 256 + $6;
--	my $addr = join('.', $1, $2, $3, $4);
-+	my ($port, $addr);
-+	if ($family == AF_INET) {
-+		$port = $5 * 256 + $6;
-+		$addr = join('.', $1, $2, $3, $4);
-+	} else {
-+		$port = $1;
-+		$addr = ($self->peername)[1];
-+	}
- 	my $data = Fan::TCP->new();
- 
- 	$data && $data->do_client(
-+		tcp_family => $family,
- 		tcp_bindaddr => $bindaddr,
- 		tcp_host => $addr,
- 		tcp_port => $port
diff --git a/ftp/ftpmirror/files/patch-Fan__Fan.pm b/ftp/ftpmirror/files/patch-Fan__Fan.pm
deleted file mode 100644
index 720124599a89..000000000000
--- a/ftp/ftpmirror/files/patch-Fan__Fan.pm
+++ /dev/null
@@ -1,11 +0,0 @@
---- Fan/Fan.pm.orig	Sun Nov 21 17:24:27 1999
-+++ Fan/Fan.pm	Wed Jan 12 13:28:20 2000
-@@ -48,7 +48,7 @@
- 
- ;# Where configuration files are.
- BEGIN {
--	$sysconfdir = "/usr/local/etc";
-+	$sysconfdir = '%%PREFIX%%/etc';
- }
- 
- ;#
diff --git a/ftp/ftpmirror/files/patch-Makefile.in b/ftp/ftpmirror/files/patch-Makefile.in
deleted file mode 100644
index b29c6a91c6fd..000000000000
--- a/ftp/ftpmirror/files/patch-Makefile.in
+++ /dev/null
@@ -1,42 +0,0 @@
---- Makefile.in.orig	1997-09-26 11:43:03.000000000 -0300
-+++ Makefile.in	2013-10-30 11:19:37.000000000 -0200
-@@ -23,28 +23,31 @@
- 	rm -f *.old *.bak *.core Makefile
- 
- # install:: ${BINDIR}/farm
--install:: ${BINDIR}/rotate
--install:: ${BINDIR}/ftpmirror
--install:: ${SYSCONFDIR}/ftpmirror.cf-sample
-+install:: ${DESTDIR}${BINDIR}/rotate
-+install:: ${DESTDIR}${BINDIR}/ftpmirror
-+install:: ${DESTDIR}${SYSCONFDIR}/ftpmirror.cf-sample
- 
--${BINDIR}/rotate: rotate
-+${DESTDIR}${BINDIR}/rotate: rotate
- 	${INSTALL_PROGRAM} $? $@
- 
--${BINDIR}/farm: farm
-+${DESTDIR}${BINDIR}/farm: farm
- 	${INSTALL_PROGRAM} $? $@
- 
--${BINDIR}/ftpmirror: ftpmirror
-+${DESTDIR}${BINDIR}/ftpmirror: ftpmirror
- 	${INSTALL_PROGRAM} $? $@
- 
--${SYSCONFDIR}/ftpmirror.cf-sample: ftpmirror.cf-sample
-+${DESTDIR}${SYSCONFDIR}/ftpmirror.cf-sample: ftpmirror.cf-sample
- 	${INSTALL_DATA} $? $@
- 
- # for subdirectories...
--all clean realclean install:: Fan/Makefile
-+all clean realclean:: Fan/Makefile
- 	@ for d in ${SUBDIR} ; do \
- 		( echo "make $@ in $$d..." && cd $$d && make $@ ) ; \
- 	done
- 
-+install:: Fan/Makefile
-+	( echo "make pure_install in Fan..." && cd Fan && make pure_install ) ; \
-+
- # Fan subdirectory requres Makefile first.
- Fan/Makefile:: Fan/Makefile.PL
- 	cd Fan; ${PERL} Makefile.PL
diff --git a/ftp/ftpmirror/files/patch-TCP.pm b/ftp/ftpmirror/files/patch-TCP.pm
deleted file mode 100644
index d8ed2c572d39..000000000000
--- a/ftp/ftpmirror/files/patch-TCP.pm
+++ /dev/null
@@ -1,154 +0,0 @@
-Index: Fan/TCP/TCP.pm
-===================================================================
-RCS file: /usr/home/ume/ncvs/src/ftpmirror/Fan/TCP/TCP.pm,v
-retrieving revision 1.1.1.1
-retrieving revision 1.12
-diff -u -r1.1.1.1 -r1.12
---- Fan/TCP/TCP.pm	1999/10/24 10:28:15	1.1.1.1
-+++ Fan/TCP/TCP.pm	2000/03/09 13:32:06	1.12
-@@ -35,15 +35,16 @@
- package Fan::TCP;
- 
- use strict;
--use vars qw($VERSION $LOG
--	$tcp_proto $seq_id $sent_octets $recv_octets);
-+use vars qw($VERSION $LOG $seq_id $sent_octets $recv_octets);
- 
- use Carp;
- use Socket;
-+
-+use Socket6;
-+
- use AutoLoader 'AUTOLOAD';
- 
- $VERSION = '0.03';
--$tcp_proto = (getprotobyname('tcp'))[2];
- 
- ;#
- BEGIN {
-@@ -463,27 +464,21 @@
- 
- 	# check local side port #.
- 	my $port = $params{tcp_bindport} || $self->{tcp_bindport} || 0;
--	if ($port !~ /^\d+$/) {
--		if (!defined($port = getservbyname($port, 'tcp'))) {
--			my $e = $!.'';
--			$self->error($e, &FATAL);
--			carp("$self: getservbyname($port) - $e");
--			return undef;
--		}
--	}
- 
- 	# define local side address if bindaddr is not null string.
--	my $addr = inet_aton(
--		$params{tcp_bindaddr} || $self->{tcp_bindaddr} || '0.0.0.0');
--
--	# parameter for bind.
--	my $me = sockaddr_in($port, $addr);
-+	my $family = $params{tcp_family} ? $params{tcp_family} : AF_INET;
-+	my $tcp_bindaddr = $params{tcp_bindaddr} || $self->{tcp_bindaddr} ||
-+			   (($family == AF_INET) ? '0.0.0.0' : '::');
-+
-+	my ($socktype, $proto, $me, $canonname);
-+	($family, $socktype, $proto, $me, $canonname)
-+		= getaddrinfo($tcp_bindaddr, $port, $family, SOCK_STREAM);
- 
- 	# local file handle...
- 	local *SOCKET;
- 
- 	# creating a stream socket.
--	unless (socket(SOCKET, PF_INET, SOCK_STREAM, $tcp_proto)) {
-+	unless (socket(SOCKET, $family, $socktype, $proto)) {
- 		my $e = $!.'';
- 		$self->error($e, &FATAL);
- 		carp("$self: socket - $e") if $LOG >= 5;
-@@ -539,41 +534,27 @@
- 		return undef;
- 	}
- 
--	# try to parse port number
--	if ($port !~ /^\d+$/) {
--		if (!defined($port = getservbyname($port, 'tcp'))) {
--			my $e = $!.'';
--			$self->error($e, &FATAL);
--			carp("$self: getservbyname($port) - $e");
--			return undef;
--		}
--	}
--
--	# check server name
--	my @addr;
--	if ($host =~ /^(\d+)\.(\d+)\.(\d+).(\d+)$/) {
--		@addr = (pack('C4', $1, $2, $3, $4));
--	} else {
--		if ((@addr = gethostbyname($host)) < 5) {
--			carp("$self: gethostbyname - $?");
--			my $e = $?.'';
--			$self->error($e, &FATAL);
--			carp("$self: gethostbyname - $e");
--			return undef;
--		}
--		splice(@addr, 0, 4);
-+	# check server name and try to parse port number
-+	my @infos = getaddrinfo($host, $port, AF_UNSPEC, SOCK_STREAM);
-+	if ($#infos < 1) {
-+		carp("$self: getaddrinfo($host, $port) - $?");
-+		my $e = $?.'';
-+		$self->error($e, &FATAL);
-+		carp("$self: getaddrinfo($host, $port) - $e");
-+		return undef;
- 	}
- 
- 	# Perl's bug? once connect fails, we could not any more
- 	# connect (connect returns "Invalid Argument"). So we
- 	# create/close a socket in each iteration.
--	for my $i (@addr) {
-+	while ($#infos >= 1) {
-+		my ($family, $socktype, $proto, $peer, $canonname)
-+		    = splice(@infos, 0, 5);
- 
- 		# open socket stores any error
-+		$params{tcp_family} = $family;
- 		$self->open_socket(%params) || return undef;
- 
--		# target address.
--		my $peer = sockaddr_in($port, $i);
- 		my $result = undef;
- 
- 		# do real work.
-@@ -758,10 +739,13 @@
- 	my $sock = $self->handle;
- 
- 	if (defined($sock)) {
--		my($port, $a) = sockaddr_in(getsockname($sock));
--		my $addr = join('.', unpack('C4', $a));
--carp("$self sockname=$addr:$port") if $LOG > 7;
--		return wantarray ? ($port, $addr) : "$addr:$port";
-+		my $sa = getsockname($sock);
-+		my $family = (unpack('CC', $sa))[1];
-+		my ($addr, $port) = getnameinfo($sa, NI_NUMERICHOST |
-+						     NI_NUMERICSERV);
-+		carp("$self sockname=$addr|$port|$family") if $LOG > 7;
-+		return wantarray ? ($port, $addr, $family)
-+				 : "$addr|$port|$family";
- 	}
- 	return wantarray ? () : undef;
- }
-@@ -772,10 +756,13 @@
- 	my $sock = $self->handle;
- 
- 	if (defined($sock)) {
--		my($port, $a) = sockaddr_in(getpeername($sock));
--		my $addr = join('.', unpack('C4', $a));
--carp("$self sockpeer=$addr:$port") if $LOG > 7;
--		return wantarray ? ($port, $addr) : "$addr:$port";
-+		my $sa = getpeername($sock);
-+		my $family = (unpack('CC', $sa))[1];
-+		my ($addr, $port) = getnameinfo($sa, NI_NUMERICHOST |
-+						     NI_NUMERICSERV);
-+		carp("$self sockpeer=$addr|$port|$family") if $LOG > 7;
-+		return wantarray ? ($port, $addr, $family)
-+				 : "$addr|$port|$family";
- 	}
- 	return wantarray ? () : undef;
- }
diff --git a/ftp/ftpmirror/pkg-descr b/ftp/ftpmirror/pkg-descr
deleted file mode 100644
index 9839a31ed1de..000000000000
--- a/ftp/ftpmirror/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-Ftpmirror is an utility to copy directory hierarchy
-(this is called ``mirror'') with FTP.
-
-A similar perl script exists, whose name is `mirror',
-but ftpmirror requires less memory than mirror.
diff --git a/ftp/ftpmirror/pkg-plist b/ftp/ftpmirror/pkg-plist
deleted file mode 100644
index d7da3cd9ffa0..000000000000
--- a/ftp/ftpmirror/pkg-plist
+++ /dev/null
@@ -1,263 +0,0 @@
-bin/rotate
-bin/ftpmirror
-etc/ftpmirror.cf-sample
-%%SITE_ARCH%%/auto/Fan/MD5/MD5.so
-%%SITE_ARCH%%/auto/Fan/MD5/MD5File.al
-%%SITE_ARCH%%/auto/Fan/MD5/MD5String.al
-%%SITE_ARCH%%/auto/Fan/MD5/autosplit.ix
-%%SITE_ARCH%%/auto/Fan/Usage/Usage.so
-%%SITE_ARCH%%/auto/Fan/full_setup.al
-%%SITE_ARCH%%/auto/Fan/find_archive.al
-%%SITE_ARCH%%/auto/Fan/DESTROY.al
-%%SITE_ARCH%%/auto/Fan/new.al
-%%SITE_ARCH%%/auto/Fan/check.al
-%%SITE_ARCH%%/auto/Fan/subst_directory.al
-%%SITE_ARCH%%/auto/Fan/gen_match.al
-%%SITE_ARCH%%/auto/Fan/gen_subst.al
-%%SITE_ARCH%%/auto/Fan/do_lock.al
-%%SITE_ARCH%%/auto/Fan/cleanup.al
-%%SITE_ARCH%%/auto/Fan/net_init.al
-%%SITE_ARCH%%/auto/Fan/last_seq.al
-%%SITE_ARCH%%/auto/Fan/step_synch.al
-%%SITE_ARCH%%/auto/Fan/run_step_mirror.al
-%%SITE_ARCH%%/auto/Fan/run_full_mirror.al
-%%SITE_ARCH%%/auto/Fan/quit.al
-%%SITE_ARCH%%/auto/Fan/list.al
-%%SITE_ARCH%%/auto/Fan/get.al
-%%SITE_ARCH%%/auto/Fan/put.al
-%%SITE_ARCH%%/auto/Fan/fill_mtime.al
-%%SITE_ARCH%%/auto/Fan/fill_size.al
-%%SITE_ARCH%%/auto/Fan/add.al
-%%SITE_ARCH%%/auto/Fan/del.al
-%%SITE_ARCH%%/auto/Fan/local_add.al
-%%SITE_ARCH%%/auto/Fan/local_del.al
-%%SITE_ARCH%%/auto/Fan/remote_add.al
-%%SITE_ARCH%%/auto/Fan/remote_del.al
-%%SITE_ARCH%%/auto/Fan/besame.al
-%%SITE_ARCH%%/auto/Fan/date_check.al
-%%SITE_ARCH%%/auto/Fan/calc_offset.al
-%%SITE_ARCH%%/auto/Fan/adjust_offset.al
-%%SITE_ARCH%%/auto/Fan/mkdirinfo.al
-%%SITE_ARCH%%/auto/Fan/remote_scanner.al
-%%SITE_ARCH%%/auto/Fan/local_scanner.al
-%%SITE_ARCH%%/auto/Fan/server_filter.al
-%%SITE_ARCH%%/auto/Fan/client_filter.al
-%%SITE_ARCH%%/auto/Fan/changer_filter.al
-%%SITE_ARCH%%/auto/Fan/get_uid.al
-%%SITE_ARCH%%/auto/Fan/get_gid.al
-%%SITE_ARCH%%/auto/Fan/scan_any.al
-%%SITE_ARCH%%/auto/Fan/scan_remote.al
-%%SITE_ARCH%%/auto/Fan/scan_local.al
-%%SITE_ARCH%%/auto/Fan/Attrib/DESTROY.al
-%%SITE_ARCH%%/auto/Fan/Attrib/new.al
-%%SITE_ARCH%%/auto/Fan/Attrib/attr_encode.al
-%%SITE_ARCH%%/auto/Fan/Attrib/attr_decode.al
-%%SITE_ARCH%%/auto/Fan/Attrib/mtime.al
-%%SITE_ARCH%%/auto/Fan/Attrib/get_mtime.al
-%%SITE_ARCH%%/auto/Fan/Attrib/gmt2mdtm.al
-%%SITE_ARCH%%/auto/Fan/Attrib/cleanup.al
-%%SITE_ARCH%%/auto/Fan/Attrib/validate.al
-%%SITE_ARCH%%/auto/Fan/Attrib/compare.al
-%%SITE_ARCH%%/auto/Fan/Attrib/copyfrom.al
-%%SITE_ARCH%%/auto/Fan/Attrib/duplicate.al
-%%SITE_ARCH%%/auto/Fan/Attrib/to_line.al
-%%SITE_ARCH%%/auto/Fan/Attrib/fill_checksum.al
-%%SITE_ARCH%%/auto/Fan/Attrib/fill.al
-%%SITE_ARCH%%/auto/Fan/Attrib/from_path.al
-%%SITE_ARCH%%/auto/Fan/Attrib/from_line.al
-%%SITE_ARCH%%/auto/Fan/Attrib/from_list.al
-%%SITE_ARCH%%/auto/Fan/Attrib/parsetime.al
-%%SITE_ARCH%%/auto/Fan/Attrib/autosplit.ix
-%%SITE_ARCH%%/auto/Fan/update_master.al
-%%SITE_ARCH%%/auto/Fan/autosplit.ix
-%%SITE_ARCH%%/auto/Fan/Cool/append.al
-%%SITE_ARCH%%/auto/Fan/Cool/mkdirhier.al
-%%SITE_ARCH%%/auto/Fan/Cool/rmdirhier.al
-%%SITE_ARCH%%/auto/Fan/Cool/plog.al
-%%SITE_ARCH%%/auto/Fan/Cool/plog_level.al
-%%SITE_ARCH%%/auto/Fan/Cool/plog_mask.al
-%%SITE_ARCH%%/auto/Fan/Cool/plock.al
-%%SITE_ARCH%%/auto/Fan/Cool/encode.al
-%%SITE_ARCH%%/auto/Fan/Cool/decode.al
-%%SITE_ARCH%%/auto/Fan/Cool/str4time.al
-%%SITE_ARCH%%/auto/Fan/Cool/str4date.al
-%%SITE_ARCH%%/auto/Fan/Cool/timezone.al
-%%SITE_ARCH%%/auto/Fan/Cool/isleap.al
-%%SITE_ARCH%%/auto/Fan/Cool/dayofyear.al
-%%SITE_ARCH%%/auto/Fan/Cool/days.al
-%%SITE_ARCH%%/auto/Fan/Cool/dayofweek.al
-%%SITE_ARCH%%/auto/Fan/Cool/daysofmonth.al
-%%SITE_ARCH%%/auto/Fan/Cool/nameofmonth.al
-%%SITE_ARCH%%/auto/Fan/Cool/lookup.al
-%%SITE_ARCH%%/auto/Fan/Cool/autosplit.ix
-%%SITE_ARCH%%/auto/Fan/DIR/new.al
-%%SITE_ARCH%%/auto/Fan/DIR/DESTROY.al
-%%SITE_ARCH%%/auto/Fan/DIR/get.al
-%%SITE_ARCH%%/auto/Fan/DIR/add.al
-%%SITE_ARCH%%/auto/Fan/DIR/delete.al
-%%SITE_ARCH%%/auto/Fan/DIR/index.al
-%%SITE_ARCH%%/auto/Fan/DIR/load.al
-%%SITE_ARCH%%/auto/Fan/DIR/fill.al
-%%SITE_ARCH%%/auto/Fan/DIR/store.al
-%%SITE_ARCH%%/auto/Fan/DIR/update.al
-%%SITE_ARCH%%/auto/Fan/DIR/putdata.al
-%%SITE_ARCH%%/auto/Fan/DIR/autosplit.ix
-%%SITE_ARCH%%/auto/Fan/FTP/stats.al
-%%SITE_ARCH%%/auto/Fan/FTP/DESTROY.al
-%%SITE_ARCH%%/auto/Fan/FTP/new.al
-%%SITE_ARCH%%/auto/Fan/FTP/passive.al
-%%SITE_ARCH%%/auto/Fan/FTP/putreq.al
-%%SITE_ARCH%%/auto/Fan/FTP/getres.al
-%%SITE_ARCH%%/auto/Fan/FTP/quit.al
-%%SITE_ARCH%%/auto/Fan/FTP/login.al
-%%SITE_ARCH%%/auto/Fan/FTP/do_login.al
-%%SITE_ARCH%%/auto/Fan/FTP/port.al
-%%SITE_ARCH%%/auto/Fan/FTP/acpt.al
-%%SITE_ARCH%%/auto/Fan/FTP/pasv.al
-%%SITE_ARCH%%/auto/Fan/FTP/cleardataconn.al
-%%SITE_ARCH%%/auto/Fan/FTP/makedataconn.al
-%%SITE_ARCH%%/auto/Fan/FTP/list.al
-%%SITE_ARCH%%/auto/Fan/FTP/get.al
-%%SITE_ARCH%%/auto/Fan/FTP/put.al
-%%SITE_ARCH%%/auto/Fan/FTP/stat.al
-%%SITE_ARCH%%/auto/Fan/FTP/chdir.al
-%%SITE_ARCH%%/auto/Fan/FTP/cwd.al
-%%SITE_ARCH%%/auto/Fan/FTP/pwd.al
-%%SITE_ARCH%%/auto/Fan/FTP/type.al
-%%SITE_ARCH%%/auto/Fan/FTP/image.al
-%%SITE_ARCH%%/auto/Fan/FTP/ascii.al
-%%SITE_ARCH%%/auto/Fan/FTP/size.al
-%%SITE_ARCH%%/auto/Fan/FTP/mtime.al
-%%SITE_ARCH%%/auto/Fan/FTP/unlink.al
-%%SITE_ARCH%%/auto/Fan/FTP/mkdir.al
-%%SITE_ARCH%%/auto/Fan/FTP/rmdir.al
-%%SITE_ARCH%%/auto/Fan/FTP/rename.al
-%%SITE_ARCH%%/auto/Fan/FTP/chmod.al
-%%SITE_ARCH%%/auto/Fan/FTP/umask.al
-%%SITE_ARCH%%/auto/Fan/FTP/group.al
-%%SITE_ARCH%%/auto/Fan/FTP/idle.al
-%%SITE_ARCH%%/auto/Fan/FTP/autosplit.ix
-%%SITE_ARCH%%/auto/Fan/Farm/DESTROY.al
-%%SITE_ARCH%%/auto/Fan/Farm/new.al
-%%SITE_ARCH%%/auto/Fan/Farm/d_begin.al
-%%SITE_ARCH%%/auto/Fan/Farm/d_add.al
-%%SITE_ARCH%%/auto/Fan/Farm/d_end.al
-%%SITE_ARCH%%/auto/Fan/Farm/generate.al
-%%SITE_ARCH%%/auto/Fan/Farm/normalize.al
-%%SITE_ARCH%%/auto/Fan/Farm/update.al
-%%SITE_ARCH%%/auto/Fan/Farm/farm_filter.al
-%%SITE_ARCH%%/auto/Fan/Farm/genindex.al
-%%SITE_ARCH%%/auto/Fan/Farm/synch.al
-%%SITE_ARCH%%/auto/Fan/Farm/getrev.al
-%%SITE_ARCH%%/auto/Fan/Farm/autosplit.ix
-%%SITE_ARCH%%/auto/Fan/HTTP/DESTROY.al
-%%SITE_ARCH%%/auto/Fan/HTTP/new.al
-%%SITE_ARCH%%/auto/Fan/HTTP/get.al
-%%SITE_ARCH%%/auto/Fan/HTTP/parse_url.al
-%%SITE_ARCH%%/auto/Fan/HTTP/autosplit.ix
-%%SITE_ARCH%%/auto/Fan/Loader/DESTROY.al
-%%SITE_ARCH%%/auto/Fan/Loader/new.al
-%%SITE_ARCH%%/auto/Fan/Loader/search.al
-%%SITE_ARCH%%/auto/Fan/Loader/parse_line.al
-%%SITE_ARCH%%/auto/Fan/Loader/parse_option.al
-%%SITE_ARCH%%/auto/Fan/Loader/parse_file.al
-%%SITE_ARCH%%/auto/Fan/Loader/combine_hash.al
-%%SITE_ARCH%%/auto/Fan/Loader/merge_hash.al
-%%SITE_ARCH%%/auto/Fan/Loader/dumpall.al
-%%SITE_ARCH%%/auto/Fan/Loader/get_value.al
-%%SITE_ARCH%%/auto/Fan/Loader/autosplit.ix
-%%SITE_ARCH%%/auto/Fan/Param/DESTROY.al
-%%SITE_ARCH%%/auto/Fan/Param/new.al
-%%SITE_ARCH%%/auto/Fan/Param/error.al
-%%SITE_ARCH%%/auto/Fan/Param/addkey.al
-%%SITE_ARCH%%/auto/Fan/Param/try_check.al
-%%SITE_ARCH%%/auto/Fan/Param/getval.al
-%%SITE_ARCH%%/auto/Fan/Param/delete.al
-%%SITE_ARCH%%/auto/Fan/Param/setval.al
-%%SITE_ARCH%%/auto/Fan/Param/addval.al
-%%SITE_ARCH%%/auto/Fan/Param/dump.al
-%%SITE_ARCH%%/auto/Fan/Param/combine.al
-%%SITE_ARCH%%/auto/Fan/Param/merge.al
-%%SITE_ARCH%%/auto/Fan/Param/want_ref.al
-%%SITE_ARCH%%/auto/Fan/Param/want_code.al
-%%SITE_ARCH%%/auto/Fan/Param/want_hash.al
-%%SITE_ARCH%%/auto/Fan/Param/want_array.al
-%%SITE_ARCH%%/auto/Fan/Param/want_boolean.al
-%%SITE_ARCH%%/auto/Fan/Param/want_decimal.al
-%%SITE_ARCH%%/auto/Fan/Param/want_octal.al
-%%SITE_ARCH%%/auto/Fan/Param/want_integer.al
-%%SITE_ARCH%%/auto/Fan/Param/want_ipv4_addr.al
-%%SITE_ARCH%%/auto/Fan/Param/want_path.al
-%%SITE_ARCH%%/auto/Fan/Param/want_file.al
-%%SITE_ARCH%%/auto/Fan/Param/want_directory.al
-%%SITE_ARCH%%/auto/Fan/Param/want_timezone.al
-%%SITE_ARCH%%/auto/Fan/Param/autosplit.ix
-%%SITE_ARCH%%/auto/Fan/Scan/findpath.al
-%%SITE_ARCH%%/auto/Fan/Scan/DESTROY.al
-%%SITE_ARCH%%/auto/Fan/Scan/new.al
-%%SITE_ARCH%%/auto/Fan/Scan/where.al
-%%SITE_ARCH%%/auto/Fan/Scan/start.al
-%%SITE_ARCH%%/auto/Fan/Scan/end.al
-%%SITE_ARCH%%/auto/Fan/Scan/down.al
-%%SITE_ARCH%%/auto/Fan/Scan/up.al
-%%SITE_ARCH%%/auto/Fan/Scan/open.al
-%%SITE_ARCH%%/auto/Fan/Scan/close.al
-%%SITE_ARCH%%/auto/Fan/Scan/add_filter.al
-%%SITE_ARCH%%/auto/Fan/Scan/clr_filter.al
-%%SITE_ARCH%%/auto/Fan/Scan/perform_filter.al
-%%SITE_ARCH%%/auto/Fan/Scan/unget.al
-%%SITE_ARCH%%/auto/Fan/Scan/get.al
-%%SITE_ARCH%%/auto/Fan/Scan/getone.al
-%%SITE_ARCH%%/auto/Fan/Scan/get_index.al
-%%SITE_ARCH%%/auto/Fan/Scan/get_misc.al
-%%SITE_ARCH%%/auto/Fan/Scan/dir_local.al
-%%SITE_ARCH%%/auto/Fan/Scan/dir_ftp.al
-%%SITE_ARCH%%/auto/Fan/Scan/dir_lslR.al
-%%SITE_ARCH%%/auto/Fan/Scan/getline_lslR.al
-%%SITE_ARCH%%/auto/Fan/Scan/dump.al
-%%SITE_ARCH%%/auto/Fan/Scan/summary.al
-%%SITE_ARCH%%/auto/Fan/Scan/getcmp.al
-%%SITE_ARCH%%/auto/Fan/Scan/guess.al
-%%SITE_ARCH%%/auto/Fan/Scan/fileglob.al
-%%SITE_ARCH%%/auto/Fan/Scan/scan_mklist.al
-%%SITE_ARCH%%/auto/Fan/Scan/scan_mkdiff.al
-%%SITE_ARCH%%/auto/Fan/Scan/scan_update.al
-%%SITE_ARCH%%/auto/Fan/Scan/attr_cmp.al
-%%SITE_ARCH%%/auto/Fan/Scan/autosplit.ix
-%%SITE_ARCH%%/auto/Fan/TCP/status_report.al
-%%SITE_ARCH%%/auto/Fan/TCP/FATAL.al
-%%SITE_ARCH%%/auto/Fan/TCP/DESTROY.al
-%%SITE_ARCH%%/auto/Fan/TCP/new.al
-%%SITE_ARCH%%/auto/Fan/TCP/stats.al
-%%SITE_ARCH%%/auto/Fan/TCP/clearerror.al
-%%SITE_ARCH%%/auto/Fan/TCP/error.al
-%%SITE_ARCH%%/auto/Fan/TCP/fatal.al
-%%SITE_ARCH%%/auto/Fan/TCP/status.al
-%%SITE_ARCH%%/auto/Fan/TCP/dump.al
-%%SITE_ARCH%%/auto/Fan/TCP/putln.al
-%%SITE_ARCH%%/auto/Fan/TCP/getln.al
-%%SITE_ARCH%%/auto/Fan/TCP/putdata.al
-%%SITE_ARCH%%/auto/Fan/TCP/getdata.al
-%%SITE_ARCH%%/auto/Fan/TCP/nowait.al
-%%SITE_ARCH%%/auto/Fan/TCP/open_socket.al
-%%SITE_ARCH%%/auto/Fan/TCP/do_client.al
-%%SITE_ARCH%%/auto/Fan/TCP/do_server.al
-%%SITE_ARCH%%/auto/Fan/TCP/new_client.al
-%%SITE_ARCH%%/auto/Fan/TCP/close.al
-%%SITE_ARCH%%/auto/Fan/TCP/handle.al
-%%SITE_ARCH%%/auto/Fan/TCP/sockname.al
-%%SITE_ARCH%%/auto/Fan/TCP/peername.al
-%%SITE_ARCH%%/auto/Fan/TCP/autosplit.ix
-%%SITE_ARCH%%/Fan.pm
-%%SITE_ARCH%%/Fan/Attrib.pm
-%%SITE_ARCH%%/Fan/Cool.pm
-%%SITE_ARCH%%/Fan/DIR.pm
-%%SITE_ARCH%%/Fan/FTP.pm
-%%SITE_ARCH%%/Fan/Farm.pm
-%%SITE_ARCH%%/Fan/HTTP.pm
-%%SITE_ARCH%%/Fan/Loader.pm
-%%SITE_ARCH%%/Fan/MD5.pm
-%%SITE_ARCH%%/Fan/Param.pm
-%%SITE_ARCH%%/Fan/Scan.pm
-%%SITE_ARCH%%/Fan/TCP.pm
-%%SITE_ARCH%%/Fan/Usage.pm