head	1.2;
access;
symbols;
locks; strict;
comment	@# @;


1.2
date	2023.05.17.10.20.32;	author wiz;	state dead;
branches;
next	1.1;
commitid	oL1yPEUFqPraPipE;

1.1
date	2023.05.07.19.13.27;	author wiz;	state Exp;
branches;
next	;
commitid	y8LKRbPgwU3T54oE;


desc
@@


1.2
log
@tnftp: switch to tar.gz distfile

This is not used as bootstrap package any longer, so the sources
don't need to be in the repository
@
text
@#!/bin/sh -
#	$NetBSD: makelist,v 1.1 2023/05/07 19:13:27 wiz Exp $
#	 NetBSD: makelist,v 1.29 2016/05/09 21:46:56 christos Exp  
#
# Copyright (c) 1992, 1993
#	The Regents of the University of California.  All rights reserved.
#
# This code is derived from software contributed to Berkeley by
# Christos Zoulas of Cornell University.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
# 3. Neither the name of the University nor the names of its contributors
#    may be used to endorse or promote products derived from this software
#    without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
#	@@(#)makelist	5.3 (Berkeley) 6/4/93

# makelist.sh: Automatically generate header files...

: ${AWK:=awk}
USAGE="Usage: $0 -h|-fc|-fh|-bh <filenames>"

if [ "x$1" = "x" ]
then
    echo $USAGE 1>&2
    exit 1
fi

FLAG="$1"
shift

FILES="$@@"

case $FLAG in

-h)
    set - `echo $FILES | sed -e 's/\\./_/g'`
    hdr="_h_`basename $1`"
    cat $FILES | $AWK '
	BEGIN {
	    printf("/* Automatically generated file, do not edit */\n");
	    printf("#ifndef %s\n#define %s\n", "'$hdr'", "'$hdr'");
	}
	/\(\):/ {
	    pr = substr($2, 1, 2);
	    if (pr == "vi" || pr == "em" || pr == "ed") {
		name = substr($2, 1, length($2) - 3);
#
# XXX:	need a space between name and prototype so that -fc and -fh
#	parsing is much easier
#
		printf("libedit_private el_action_t\t%s (EditLine *, wint_t);\n",
		    name);
	    }
	}
	END {
	    printf("#endif /* %s */\n", "'$hdr'");
	}'
	;;

#	generate help.h from various .c files
#
-bh)
    cat $FILES | $AWK '
	BEGIN {
	    printf("/* Automatically generated file, do not edit */\n");
	    printf("static const struct el_bindings_t el_func_help[] = {\n");
	    low = "abcdefghijklmnopqrstuvwxyz_";
	    high = "ABCDEFGHIJKLMNOPQRSTUVWXYZ_";
	    for (i = 1; i <= length(low); i++)
		tr[substr(low, i, 1)] = substr(high, i, 1);
	}
	/\(\):/ {
	    pr = substr($2, 1, 2);
	    if (pr == "vi" || pr == "em" || pr == "ed") {
		name = substr($2, 1, length($2) - 3);
		uname = "";
		fname = "";
		for (i = 1; i <= length(name); i++) {
		    s = substr(name, i, 1);
		    uname = uname tr[s];
		    if (s == "_")
			s = "-";
		    fname = fname s;
		}

		printf("    { %-30.30s %-30.30s\n","L\"" fname "\",", uname ",");
		ok = 1;
	    }
	}
	/^ \*/ {
	    if (ok) {
		printf("      L\"");
		for (i = 2; i < NF; i++)
		    printf("%s ", $i);
		printf("%s\" },\n", $i);
		ok = 0;
	    }
	}
	END {
	    printf("};\n");
	}'
	;;

#	generate fcns.h from various .h files
#
-fh)
    cat $FILES | $AWK '/el_action_t/ { print $3 }' | \
    sort | tr '[:lower:]' '[:upper:]' | $AWK '
	BEGIN {
	    printf("/* Automatically generated file, do not edit */\n");
	    count = 0;
	}
	{
	    printf("#define\t%-30.30s\t%3d\n", $1, count++);
	}
	END {
	    printf("#define\t%-30.30s\t%3d\n", "EL_NUM_FCNS", count);
	}'
	;;

#	generate func.h from various .h files
#
-fc)
    cat $FILES | $AWK '/el_action_t/ { print $3 }' | sort | $AWK '
	BEGIN {
	    printf("/* Automatically generated file, do not edit */\n");
	    printf("static const el_func_t el_func[] = {");
	    maxlen = 80;
	    needn = 1;
	    len = 0;
	}
	{
	    clen = 25 + 2;
	    len += clen;
	    if (len >= maxlen)
		needn = 1;
	    if (needn) {
		printf("\n    ");
		needn = 0;
		len = 4 + clen;
	    }
	    s = $1 ",";
	    printf("%-26.26s ", s);
	}
	END {
	    printf("\n};\n");
	}'
	;;

*)
    echo $USAGE 1>&2
    exit 1
    ;;

esac
@


1.1
log
@tnftp: update to 20230507.

Changes in tnftp from 20230409 to 20230507:

	Add timeout for SSL connection setup, defaulting to 60 seconds.

	Update to NetBSD-ftp 20230505.

Changes in tnftp from 20210827 to 20230409:

	Validate SSL certificates by default, disabled with
	FTPSSLNOVERIFY=1 in the environment, or option sslnoverify.

	Add netrc processing to fetch-mode (URL on command line)
	to enable options and autologin via netrc.

	Handle relative URLs in fetch.

	Improve formatting of manual page.

	Update to NetBSD-ftp 20230225.

Changes in tnftp from 20200705 to 20210827:

	Validate address in server's PASV and LPSV responses. Previously a
	hostile server could cause ftp to open a data connection elsewhere.

	Avoid intermittent crashes by fixing signal handler restoration.

	Fix intermittent failures in -q QUITTIME by not using restartable
	signals.

	Set SO_KEEPALIVE on control connection to attempt to avoid timeouts.

	Update to NetBSD-ftp 20210826.

	Improve configure tests.

	Improve manual page.

	Display usage to stdout with -?.

Changes in tnftp from 20151004 to 20200705:

	Avoid crashes by exiting if lostpeer due to a signal
	(e.g., remote server disconnection).

	Issue PWD commands to the server only when we actually
	need the results, not speculatively, just in case we might.
	Works around broken servers, and is quicker too.

	Use "anonymous" instead of the local username for anonymous
	ftp. Avoids unnecesary information leak.

	Use the first name we requested the http/https URL for,
	not any name we ended up with after random redirects.

	Support using CONNECT for https:// via proxy.

	Improve SSL error reporting, and IPv6 endpoint reporting.

	Use the system glob() if required extensions are supported.

	Use the system libedit library by default, instead of
	the local (embedded) libedit.

	Update to NetBSD-ftp 20200608.

	Update local (embedded) libedit to NetBSD as at 2020-07-04.
	Fixes various crashes.

	Portability improvements.
@
text
@d2 1
a2 1
#	$NetBSD: makelist,v 1.5 2020/07/04 13:43:21 lukem Exp $
@

