The NetBSD Project

CVS log for src/usr.bin/ftp/util.c

[BACK] Up to [cvs.NetBSD.org] / src / usr.bin / ftp

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.164.2.4: download - view: text, markup, annotated - select for diffs
Mon Dec 2 10:19:39 2024 UTC (10 days, 19 hours ago) by martin
Branches: netbsd-10
Diff to: previous 1.164.2.3: preferred, colored; branchpoint 1.164: preferred, colored; next MAIN 1.165: preferred, colored
Changes since revision 1.164.2.3: +3 -3 lines
Pull up following revision(s) (requested by lukem in ticket #1021):

	usr.bin/ftp/ftp.c: revision 1.178
	usr.bin/ftp/version.h: revision 1.99
	usr.bin/ftp/ruserpass.c: revision 1.35
	usr.bin/ftp/main.c: revision 1.134
	usr.bin/ftp/main.c: revision 1.135
	usr.bin/ftp/progressbar.c: revision 1.27
	usr.bin/ftp/util.c: revision 1.165
	usr.bin/ftp/cmds.c: revision 1.144
	usr.bin/ftp/extern.h: revision 1.84
	usr.bin/ftp/fetch.c: revision 1.242
	usr.bin/ftp/ftp.1: revision 1.160

s/bninary/binary/ in comment.

extract duplicate code into a function.

Check bounds when copying to destination.

Remove const where the const string ended up being overwritten.

use unsigned when doing shifts.

remove const when string gets overwritten.

ftp: exit non-zero if short http transfer when filesize is known
If a http file size is known and the fetch finishes with less bytes
transferred, exit non-zero.
Bump version to 20241129.
PR bin/54713
PR bin/58281

ftp: help improvements
Document -? as a separate mode.
Document -H HEADER in the usage.
Clarify units for -b and -x.
Consistent argument names between ftp -? and ftp(1).

ftp: order getopt Upper before lower
Consistently order options in getopt and the switch
with the upper case option before the lower case option.
This makes it easier to cross-reference with -? and ftp(1).
No functional change.

Revision 1.164.2.3: download - view: text, markup, annotated - select for diffs
Sun Oct 13 16:06:36 2024 UTC (8 weeks, 4 days ago) by martin
Branches: netbsd-10
Diff to: previous 1.164.2.2: preferred, colored; branchpoint 1.164: preferred, colored
Changes since revision 1.164.2.2: +11 -10 lines
Pull up following revision(s) (requested by riastradh in ticket #970):

	tests/usr.bin/Makefile: revision 1.42
	usr.bin/ftp/ruserpass.c: revision 1.34
	usr.bin/ftp/main.c: revision 1.130
	usr.bin/ftp/ssl.c: revision 1.17
	usr.bin/ftp/main.c: revision 1.131
	usr.bin/ftp/ssl.c: revision 1.18
	usr.bin/ftp/main.c: revision 1.132
	usr.bin/ftp/ssl.c: revision 1.19
	usr.bin/ftp/main.c: revision 1.133
	distrib/sets/lists/tests/mi: revision 1.1342
	usr.bin/ftp/ftp.1: revision 1.151
	usr.bin/ftp/ftp.1: revision 1.152
	usr.bin/ftp/progressbar.c: revision 1.25
	usr.bin/ftp/ftp.1: revision 1.153
	usr.bin/ftp/progressbar.c: revision 1.26
	usr.bin/ftp/ftp.1: revision 1.155
	usr.bin/ftp/ftp.1: revision 1.156
	usr.bin/ftp/fetch.c: revision 1.239
	usr.bin/ftp/ftp.1: revision 1.157
	usr.bin/ftp/ftp.1: revision 1.158
	usr.bin/ftp/ftp.1: revision 1.159
	usr.bin/ftp/ftp_var.h: revision 1.87
	etc/mtree/NetBSD.dist.tests: revision 1.208
	usr.bin/ftp/ftp_var.h: revision 1.88
	usr.bin/ftp/ftp_var.h: revision 1.89
	usr.bin/ftp/cmds.c: revision 1.142
	usr.bin/ftp/util.c: revision 1.168
	usr.bin/ftp/cmds.c: revision 1.143
	tests/usr.bin/ftp/custom_headers.sh: revision 1.1
	usr.bin/ftp/ssl.c: revision 1.20
	usr.bin/ftp/complete.c: revision 1.48
	tests/usr.bin/ftp/Makefile: revision 1.1
	tests/usr.bin/ftp/t_custom_headers.sh: revision 1.1
	usr.bin/ftp/fetch.c: revision 1.240
	usr.bin/ftp/fetch.c: revision 1.241
	usr.bin/ftp/ftp.c: revision 1.176
	usr.bin/ftp/ftp.c: revision 1.177
	(all via patch)

ftp(1): wording and formatting improvements

Fix grammar issue with "Support values" reported in private mail.
Document all file transfer types in "type" and cross-reference that.
Consistency fixes in describing file transfer parameters and types.

Fix some mandoc -Tlint issues (except "useless macro: Tn").

Add -b <buflen> to specify the buffer size.

ftp: bump FTPBUFLEN from 4kB to 16kB
sourceforge.net returns a 5kB content-security-policy.
Analyzed by mlelstv@ who reports usual limits are between 4kB and 48kB.
default is now 16K

ftp: improve -b documentation

Order -b bufsize in the synopsis.

Document the actual default value.

ftp: improve units used in comments and errors
Use "KiB" instead of "K" in errors.
Clarify related comments.

pass some lint.

PR/58581: Sunil Nimmagadda: Add flag to allow specifying extra http header
fields.

ftp(1): Nix trailing whitespace in man page.
No functional change intended.

PR bin/58581: ftp(1) should allow specifying header fields in http requests
fix markup (h -> H), explain about multiple headers, fix usage (from RVP)

Don't forget the dot, use the intended macro name (I think),
and improve the wording a little.    (All related to the -H option.)
ftp(1): Add test for custom HTTP header fields.

Based on a patch from Sunil Nimmagadda.

PR bin/58581: ftp(1) should allow specifying header fields in http
requests

Revision 1.168: download - view: text, markup, annotated - select for diffs
Wed Sep 25 16:53:58 2024 UTC (2 months, 2 weeks ago) by christos
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.167: preferred, colored
Changes since revision 1.167: +11 -10 lines
pass some lint.

Revision 1.164.2.2: download - view: text, markup, annotated - select for diffs
Tue May 16 16:26:03 2023 UTC (18 months, 4 weeks ago) by martin
Branches: netbsd-10
CVS tags: netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1
Diff to: previous 1.164.2.1: preferred, colored; branchpoint 1.164: preferred, colored
Changes since revision 1.164.2.1: +4 -4 lines
Pull up following revision(s) (requested by lukem in ticket #171):

	usr.bin/ftp/ssl.c: revision 1.15
	usr.bin/ftp/util.c: revision 1.167
	usr.bin/ftp/ftp.c: revision 1.175
	usr.bin/ftp/version.h: revision 1.97

add timeout for ssl connect

Implement a timeout for SSL connection setup, using -q QUITTIME,
defaulting to 60 seconds.

SSL_connect(3) (unlike connect(2)) doesn't timeout by default.
Adapt ssl error messages destination: if unexpected error
from local API, use warn()/warnx() to stderr;
if expected error from a network operation (e.g., timeouts),
use fprintf to ttyout (which might be stdout).

Consistently use ftp_poll() instead of select();
ssl.c (using select()) was added 7 years after the
previous uses of select() were converted to poll().

Check EAGAIN as well as existing EINTR error from ftp_poll(),
for portability.

Revision 1.164.2.1: download - view: text, markup, annotated - select for diffs
Tue May 16 16:16:00 2023 UTC (18 months, 4 weeks ago) by martin
Branches: netbsd-10
Diff to: previous 1.164: preferred, colored
Changes since revision 1.164: +23 -3 lines
Pull up following revision(s) (requested by lukem in ticket #170):

	usr.bin/ftp/ssl.c: revision 1.13
	usr.bin/ftp/fetch.c: revision 1.236
	usr.bin/ftp/util.c: revision 1.166
	usr.bin/ftp/main.c: revision 1.129
	usr.bin/ftp/extern.h: revision 1.83
	usr.bin/ftp/ftp.1: revision 1.148
	usr.bin/ftp/cmdtab.c: revision 1.53
	usr.bin/ftp/version.h: revision 1.96

Add option sslnoverify to control validation of SSL certificates.

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

Fix SSL cleanup in some error paths.

Certificate validation is now enabled by default. Set FTPSSLNOVERIFY=1 in environment
or configure a corresponding init macro via netrc to not validate certs (required if
you haven't installed a required CA certificate for OpenSSL).

Discussed with lukem@ on icb.

Revision 1.167: download - view: text, markup, annotated - select for diffs
Fri May 5 15:46:06 2023 UTC (19 months, 1 week ago) by lukem
Branches: MAIN
CVS tags: perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs
Diff to: previous 1.166: preferred, colored
Changes since revision 1.166: +4 -4 lines
add timeout for ssl connect

Implement a timeout for SSL connection setup, using -q QUITTIME,
defaulting to 60 seconds.
SSL_connect(3) (unlike connect(2)) doesn't timeout by default.

Adapt ssl error messages destination: if unexpected error
from local API, use warn()/warnx() to stderr;
if expected error from a network operation (e.g., timeouts),
use fprintf to ttyout (which might be stdout).

Consistently use ftp_poll() instead of select();
ssl.c (using select()) was added 7 years after the
previous uses of select() were converted to poll().

Check EAGAIN as well as existing EINTR error from ftp_poll(),
for portability.

Revision 1.166: download - view: text, markup, annotated - select for diffs
Sat Feb 25 12:07:25 2023 UTC (21 months, 2 weeks ago) by mlelstv
Branches: MAIN
Diff to: previous 1.165: preferred, colored
Changes since revision 1.165: +23 -3 lines
Add option sslnoverify to control validation of SSL certificates.
Add netrc processing to fetch-mode (URL on command line) to enable options and autologin
via netrc.
Fix SSL cleanup in some error paths.

Certificate validation is now enabled by default. Set FTPSSLNOVERIFY=1 in environment
or configure a corresponding init macro via netrc to not validate certs (required if
you haven't installed a required CA certificate for OpenSSL).

Discussed with lukem@ on icb.

Revision 1.165: download - view: text, markup, annotated - select for diffs
Fri Jan 20 22:08:48 2023 UTC (22 months, 3 weeks ago) by andvar
Branches: MAIN
Diff to: previous 1.164: preferred, colored
Changes since revision 1.164: +3 -3 lines
s/bninary/binary/ in comment.

Revision 1.158.22.3: download - view: text, markup, annotated - select for diffs
Mon Sep 12 17:08:13 2022 UTC (2 years, 3 months ago) by martin
Branches: netbsd-8
CVS tags: netbsd-8-3-RELEASE
Diff to: previous 1.158.22.2: preferred, colored; branchpoint 1.158: preferred, colored; next MAIN 1.159: preferred, colored
Changes since revision 1.158.22.2: +18 -8 lines
Catch up to current, requested by christos in ticket #1763:

        usr.bin/ftp/Makefile                            up to 1.39
        usr.bin/ftp/cmds.c                              up to 1.141
        usr.bin/ftp/complete.c                          up to 1.47
        usr.bin/ftp/domacro.c                           up to 1.23
        usr.bin/ftp/extern.h                            up to 1.82
        usr.bin/ftp/fetch.c                             up to 1.235
        usr.bin/ftp/ftp.1                               up to 1.147
        usr.bin/ftp/ftp.c                               up to 1.174
        usr.bin/ftp/ftp_var.h                           up to 1.86
        usr.bin/ftp/main.c                              up to 1.128
        usr.bin/ftp/progressbar.c                       up to 1.24
        usr.bin/ftp/progressbar.h                       up to 1.9
        usr.bin/ftp/ssl.c                               up to 1.12
        usr.bin/ftp/ssl.h                               up to 1.5
        usr.bin/ftp/util.c                              up to 1.164
        usr.bin/ftp/version.h                           up to 1.94

ftp(1): validate address from PASV and LPSV response.
ftp(1): use raw write(2) instead of fwrite(3) to avoid stream
corruption because of the progress bar interrupts.
Fixes for PR 56219 and PR 55857.
PR 57003: Support relative redirects.

Revision 1.160.2.4: download - view: text, markup, annotated - select for diffs
Mon Sep 12 17:06:56 2022 UTC (2 years, 3 months ago) by martin
Branches: netbsd-9
CVS tags: netbsd-9-4-RELEASE
Diff to: previous 1.160.2.3: preferred, colored; branchpoint 1.160: preferred, colored; next MAIN 1.161: preferred, colored
Changes since revision 1.160.2.3: +5 -5 lines
Catch up to current, requested by christos in ticket #1523

	usr.bin/ftp/Makefile				up to 1.39
	usr.bin/ftp/fetch.c				up to 1.235
	usr.bin/ftp/ftp.1				up to 1.147
	usr.bin/ftp/ftp_var.h				up to 1.86
	usr.bin/ftp/main.c				up to 1.128
	usr.bin/ftp/ssl.c				up to 1.12
	usr.bin/ftp/util.c				up to 1.164
	usr.bin/ftp/version.h				up to 1.94

PR 57003: Support relative redirects.

Revision 1.158.22.2: download - view: text, markup, annotated - select for diffs
Mon Sep 12 15:05:21 2022 UTC (2 years, 3 months ago) by martin
Branches: netbsd-8
Diff to: previous 1.158.22.1: preferred, colored; branchpoint 1.158: preferred, colored
Changes since revision 1.158.22.1: +8 -18 lines
Backout ticket #1763 for now - trust anchors are not solved.

Revision 1.160.2.3: download - view: text, markup, annotated - select for diffs
Mon Sep 12 15:02:47 2022 UTC (2 years, 3 months ago) by martin
Branches: netbsd-9
Diff to: previous 1.160.2.2: preferred, colored; branchpoint 1.160: preferred, colored
Changes since revision 1.160.2.2: +5 -5 lines
Back out ticket #1523 for now - trust anchor validation is not solved.

Revision 1.158.22.1: download - view: text, markup, annotated - select for diffs
Mon Sep 12 14:46:51 2022 UTC (2 years, 3 months ago) by martin
Branches: netbsd-8
Diff to: previous 1.158: preferred, colored
Changes since revision 1.158: +18 -8 lines
Catch up to current, requested by christos in ticket #1763:

	usr.bin/ftp/Makefile                            up to 1.39
	usr.bin/ftp/cmds.c                              up to 1.141
	usr.bin/ftp/complete.c                          up to 1.47
	usr.bin/ftp/domacro.c                           up to 1.23
	usr.bin/ftp/extern.h                            up to 1.82
	usr.bin/ftp/fetch.c                             up to 1.235
	usr.bin/ftp/ftp.1                               up to 1.147
	usr.bin/ftp/ftp.c                               up to 1.174
	usr.bin/ftp/ftp_var.h                           up to 1.86
	usr.bin/ftp/main.c                              up to 1.128
	usr.bin/ftp/progressbar.c                       up to 1.24
	usr.bin/ftp/progressbar.h                       up to 1.9
	usr.bin/ftp/ssl.c                               up to 1.11
	usr.bin/ftp/ssl.h                               up to 1.5
	usr.bin/ftp/util.c                              up to 1.164
	usr.bin/ftp/version.h                           up to 1.94

ftp(1): validate address from PASV and LPSV response.
ftp(1): use raw write(2) instead of fwrite(3) to avoid stream
corruption because of the progress bar interrupts.
Fixes for PR 56219 and PR 55857.
PR 57003: Support relative redirects.

Revision 1.160.2.2: download - view: text, markup, annotated - select for diffs
Mon Sep 12 14:42:55 2022 UTC (2 years, 3 months ago) by martin
Branches: netbsd-9
Diff to: previous 1.160.2.1: preferred, colored; branchpoint 1.160: preferred, colored
Changes since revision 1.160.2.1: +5 -5 lines
Catch up to current, requested by christos in ticket #1523

	usr.bin/ftp/Makefile                            up to 1.39
	usr.bin/ftp/fetch.c                             up to 1.235
	usr.bin/ftp/ftp.1                               up to 1.147
	usr.bin/ftp/ftp_var.h                           up to 1.86
	usr.bin/ftp/main.c                              up to 1.128
	usr.bin/ftp/ssl.c                               up to 1.11
	usr.bin/ftp/util.c                              up to 1.164
	usr.bin/ftp/version.h                           up to 1.94

PR 57003: Support relative redirects.

Revision 1.164: download - view: text, markup, annotated - select for diffs
Sat Aug 6 18:26:43 2022 UTC (2 years, 4 months ago) by andvar
Branches: MAIN
CVS tags: netbsd-10-base
Branch point for: netbsd-10
Diff to: previous 1.163: preferred, colored
Changes since revision 1.163: +3 -3 lines
s/blity/bility/ in various words, mainly in comments.

Revision 1.163: download - view: text, markup, annotated - select for diffs
Fri Aug 27 17:35:03 2021 UTC (3 years, 3 months ago) by rillig
Branches: MAIN
Diff to: previous 1.162: preferred, colored
Changes since revision 1.162: +3 -3 lines
ftp: fix undefined behavior when parsing FEAT

lint says: warning: argument to 'function from <ctype.h>' must be cast
to 'unsigned char', not to 'int' [342]

Revision 1.160.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 14 11:28:28 2021 UTC (3 years, 6 months ago) by martin
Branches: netbsd-9
CVS tags: netbsd-9-3-RELEASE
Diff to: previous 1.160: preferred, colored
Changes since revision 1.160: +8 -4 lines
Pull up following revision(s) (requested by lukem in ticket #1291):

	usr.bin/ftp/ftp.c: revision 1.169
	usr.bin/ftp/util.c: revision 1.161

ftp: exit if lostpeer invoked by a signal

lostpeer() calls too many async-unsafe functions (both directly
and indirectly) to close and cleanup the remote connections,
so just exit after the cleanup if invoked by a signal.

Reported in private mail by Qi Hou.

May also resolve a crash reported by Thomas Klausner.

Revision 1.162: download - view: text, markup, annotated - select for diffs
Sun Apr 25 08:26:35 2021 UTC (3 years, 7 months ago) by lukem
Branches: MAIN
CVS tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Diff to: previous 1.161: preferred, colored
Changes since revision 1.161: +3 -3 lines
better XXX comment for buggy ftp server

Revision 1.161: download - view: text, markup, annotated - select for diffs
Mon Jun 8 01:33:27 2020 UTC (4 years, 6 months ago) by lukem
Branches: MAIN
Diff to: previous 1.160: preferred, colored
Changes since revision 1.160: +8 -4 lines
ftp: exit if lostpeer invoked by a signal

lostpeer() calls too many async-unsafe functions (both directly
and indirectly) to close and cleanup the remote connections,
so just exit after the cleanup if invoked by a signal.

Reported in private mail by Qi Hou.
May also resolve a crash reported by Thomas Klausner.

Revision 1.159.4.1: download - view: text, markup, annotated - select for diffs
Mon Apr 13 08:05:42 2020 UTC (4 years, 8 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.159: preferred, colored; next MAIN 1.160: preferred, colored
Changes since revision 1.159: +4 -2 lines
Mostly merge changes from HEAD upto 20200411

Revision 1.160: download - view: text, markup, annotated - select for diffs
Sat Jun 22 23:40:53 2019 UTC (5 years, 5 months ago) by christos
Branches: MAIN
CVS tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, netbsd-9-base, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, is-mlppp-base, is-mlppp
Branch point for: netbsd-9
Diff to: previous 1.159: preferred, colored
Changes since revision 1.159: +4 -2 lines
trim down error checking if we are small.

Revision 1.159: download - view: text, markup, annotated - select for diffs
Mon Nov 20 21:11:36 2017 UTC (7 years ago) by kre
Branches: MAIN
CVS tags: phil-wifi-base, phil-wifi-20190609, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat
Branch point for: phil-wifi
Diff to: previous 1.158: preferred, colored
Changes since revision 1.158: +7 -3 lines
Issue PWD commands to the server only when we actually
need the results, not speculatively, just in case we might.

Allows operation with some broken servers that get confused
by PWD commands in some situations, and saves server round
trips in the (modern) common case of
	ftp ftp://path/name
where we never need to know the results from PWD.

Revision 1.155.6.3: download - view: text, markup, annotated - select for diffs
Thu May 22 11:42:44 2014 UTC (10 years, 6 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.155.6.2: preferred, colored; branchpoint 1.155: preferred, colored; next MAIN 1.156: preferred, colored
Changes since revision 1.155.6.2: +15 -20 lines
sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.156.2.1: download - view: text, markup, annotated - select for diffs
Tue Dec 17 21:07:59 2013 UTC (10 years, 11 months ago) by bouyer
Branches: netbsd-6
Diff to: previous 1.156: preferred, colored; next MAIN 1.157: preferred, colored
Changes since revision 1.156: +18 -22 lines
Apply patch, requested by tron in ticket #997:
	usr.bin/ftp/Makefile				patch
	usr.bin/ftp/cmds.c				patch
	usr.bin/ftp/cmdtab.c				patch
	usr.bin/ftp/extern.h				patch
	usr.bin/ftp/fetch.c				patch
	usr.bin/ftp/ftp.1				patch
	usr.bin/ftp/ftp.c				patch
	usr.bin/ftp/ftp_var.h				patch
	usr.bin/ftp/main.c				patch
	usr.bin/ftp/progressbar.c			patch
	usr.bin/ftp/ssl.c				patch
	usr.bin/ftp/ssl.h				patch
	usr.bin/ftp/util.c				patch
	usr.bin/ftp/version.h				patch

Add HTTPS support to ftp(1).

Revision 1.157.2.1: download - view: text, markup, annotated - select for diffs
Mon Feb 25 00:30:35 2013 UTC (11 years, 9 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.157: preferred, colored; next MAIN 1.158: preferred, colored
Changes since revision 1.157: +15 -20 lines
resync with head

Revision 1.158: download - view: text, markup, annotated - select for diffs
Tue Feb 19 23:29:15 2013 UTC (11 years, 9 months ago) by dsl
Branches: MAIN
CVS tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, agc-symver-base, agc-symver
Branch point for: netbsd-8
Diff to: previous 1.157: preferred, colored
Changes since revision 1.157: +15 -20 lines
When using the response to SYST to decide whether to default to 'binary'
  be a lot less specific.
Kyocera printers report "230 Linux" but really don't want text transfers
of pdf files!

Revision 1.155.6.2: download - view: text, markup, annotated - select for diffs
Tue Oct 30 19:00:18 2012 UTC (12 years, 1 month ago) by yamt
Branches: yamt-pagecache
CVS tags: yamt-pagecache-tag8
Diff to: previous 1.155.6.1: preferred, colored; branchpoint 1.155: preferred, colored
Changes since revision 1.155.6.1: +5 -4 lines
sync with head

Revision 1.157: download - view: text, markup, annotated - select for diffs
Wed Jul 4 06:09:37 2012 UTC (12 years, 5 months ago) by is
Branches: MAIN
CVS tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6
Branch point for: tls-maxphys
Diff to: previous 1.156: preferred, colored
Changes since revision 1.156: +5 -4 lines
As discussed on tech-net@: Don't display expected EHOSTUNREACH for all but
the last connect attempts in terse mode.

Revision 1.155.6.1: download - view: text, markup, annotated - select for diffs
Tue Apr 17 00:09:32 2012 UTC (12 years, 7 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.155: preferred, colored
Changes since revision 1.155: +28 -2 lines
sync with head

Revision 1.156: download - view: text, markup, annotated - select for diffs
Sat Dec 10 05:53:58 2011 UTC (13 years ago) by lukem
Branches: MAIN
CVS tags: yamt-pagecache-base5, yamt-pagecache-base4, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Branch point for: netbsd-6
Diff to: previous 1.155: preferred, colored
Changes since revision 1.155: +28 -2 lines
Move determination of socket buffer sizes from startup to the first
time a socket is used, as the previous logic assumed AF_INET sockets
were available (which they may not be in an IPv6-only system).
Per discussion with Maxim Konovalov and the FreeBSD problem 162661.

Revision 1.148.4.1: download - view: text, markup, annotated - select for diffs
Sat Nov 20 01:03:19 2010 UTC (14 years ago) by riz
Branches: netbsd-5
CVS tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, matt-nb5-pq3-base, matt-nb5-pq3
Diff to: previous 1.148: preferred, colored; next MAIN 1.149: preferred, colored
Changes since revision 1.148: +30 -3 lines
Pull up following revision(s) (requested by lukem in ticket #1370):
	usr.bin/ftp/extern.h: revision 1.78
	usr.bin/ftp/fetch.c: revision 1.192
	usr.bin/ftp/util.c: revision 1.153
Parse HTTP 'Date' entries in the `C' locale rather than the user's.
Fix from [bin/42917] (with minor changes), from KAMADA Ken'ichi.

Revision 1.155: download - view: text, markup, annotated - select for diffs
Sat Jun 5 13:59:39 2010 UTC (14 years, 6 months ago) by lukem
Branches: MAIN
CVS tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, matt-mips64-premerge-20101231, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: yamt-pagecache
Diff to: previous 1.154: preferred, colored
Changes since revision 1.154: +13 -8 lines
In ftpvis(), prevent incomplete escape sequences at end of dst,
and ensure NUL-termination of dst.  Also tweak for readibility.
Fix from Uwe Stuehler and Stefan Sperling, via Marc Balmer.

Revision 1.154: download - view: text, markup, annotated - select for diffs
Fri Mar 5 07:41:10 2010 UTC (14 years, 9 months ago) by lukem
Branches: MAIN
Diff to: previous 1.153: preferred, colored
Changes since revision 1.153: +8 -8 lines
Back to using 'RFC xxxx' instead of 'RFCxxxx'

Revision 1.153: download - view: text, markup, annotated - select for diffs
Thu Mar 4 21:40:53 2010 UTC (14 years, 9 months ago) by lukem
Branches: MAIN
Diff to: previous 1.152: preferred, colored
Changes since revision 1.152: +30 -3 lines
Parse HTTP 'Date' entries in the `C' locale rather than the user's.
Fix from [bin/42917] (with minor changes), from KAMADA Ken'ichi.

Revision 1.152: download - view: text, markup, annotated - select for diffs
Mon Jul 13 19:05:41 2009 UTC (15 years, 5 months ago) by roy
Branches: MAIN
CVS tags: matt-premerge-20091211
Diff to: previous 1.151: preferred, colored
Changes since revision 1.151: +5 -5 lines
Rename internal getline() function to get_line() so it does
conflict with the soon to be added getline(3) libc function.

Revision 1.148.6.1: download - view: text, markup, annotated - select for diffs
Wed May 13 19:19:50 2009 UTC (15 years, 7 months ago) by jym
Branches: jym-xensuspend
Diff to: previous 1.148: preferred, colored; next MAIN 1.149: preferred, colored
Changes since revision 1.148: +52 -49 lines
Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html

Revision 1.151: download - view: text, markup, annotated - select for diffs
Wed Apr 15 04:19:39 2009 UTC (15 years, 8 months ago) by jld
Branches: MAIN
CVS tags: jym-xensuspend-nbase, jym-xensuspend-base
Diff to: previous 1.150: preferred, colored
Changes since revision 1.150: +4 -3 lines
Another empty-body warning/error, another set of curly braces.  This, and
the last one, appear to affect only the NO_DEBUG (e.g., SMALLPROG) build.

Revision 1.150: download - view: text, markup, annotated - select for diffs
Sun Apr 12 10:18:52 2009 UTC (15 years, 8 months ago) by lukem
Branches: MAIN
Diff to: previous 1.149: preferred, colored
Changes since revision 1.149: +11 -9 lines
Fix numerous WARNS=4 issues (-Wcast-qual -Wsign-compare).

Revision 1.149: download - view: text, markup, annotated - select for diffs
Sun Apr 12 07:07:41 2009 UTC (15 years, 8 months ago) by lukem
Branches: MAIN
Diff to: previous 1.148: preferred, colored
Changes since revision 1.148: +41 -41 lines
fix -Wshadow issues

Revision 1.146.2.2: download - view: text, markup, annotated - select for diffs
Thu Sep 18 04:29:12 2008 UTC (16 years, 2 months ago) by wrstuden
Branches: wrstuden-revivesa
Diff to: previous 1.146.2.1: preferred, colored; next MAIN 1.147: preferred, colored
Changes since revision 1.146.2.1: +3 -3 lines
Sync with wrstuden-revivesa-base-2.

Revision 1.148: download - view: text, markup, annotated - select for diffs
Wed Aug 13 04:59:13 2008 UTC (16 years, 4 months ago) by lukem
Branches: MAIN
CVS tags: wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, netbsd-5-base, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2
Branch point for: netbsd-5, jym-xensuspend
Diff to: previous 1.147: preferred, colored
Changes since revision 1.147: +3 -3 lines
Use AF_INET instead of AF_UNSPEC as the default family if !defined(INET6).
Avoids problem reported by Matthias Scheler <tron@NetBSD.org>.

Revision 1.146.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 23 04:32:11 2008 UTC (16 years, 5 months ago) by wrstuden
Branches: wrstuden-revivesa
Diff to: previous 1.146: preferred, colored
Changes since revision 1.146: +3 -2 lines
Sync w/ -current. 34 merge conflicts to follow.

Revision 1.144.6.1: download - view: text, markup, annotated - select for diffs
Sun May 18 12:36:05 2008 UTC (16 years, 6 months ago) by yamt
Branches: yamt-pf42
Diff to: previous 1.144: preferred, colored; next MAIN 1.145: preferred, colored
Changes since revision 1.144: +16 -55 lines
sync with head.

Revision 1.147: download - view: text, markup, annotated - select for diffs
Sat May 10 00:05:31 2008 UTC (16 years, 7 months ago) by skd
Branches: MAIN
CVS tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, hpcarm-cleanup-nbase
Diff to: previous 1.146: preferred, colored
Changes since revision 1.146: +3 -2 lines
Add epsv6 and epsv to disable extended passive mode for ipv6 or both ipv4 and ipv6 respectively.  This hack is due to our friends a Juniper Networks who break
epsv in ipv6.  Should be fixed in ScreenOS 6.2.X.

Revision 1.146: download - view: text, markup, annotated - select for diffs
Mon Apr 28 20:24:13 2008 UTC (16 years, 7 months ago) by martin
Branches: MAIN
Branch point for: wrstuden-revivesa
Diff to: previous 1.145: preferred, colored
Changes since revision 1.145: +2 -9 lines
Remove clause 3 and 4 from TNF licenses

Revision 1.145: download - view: text, markup, annotated - select for diffs
Tue Apr 22 12:59:33 2008 UTC (16 years, 7 months ago) by lukem
Branches: MAIN
Diff to: previous 1.144: preferred, colored
Changes since revision 1.144: +15 -48 lines
Use the service name to getaddrinfo() (along with the host name), so that
features such as DNS Service Discovery have a better chance of working.
Suggested by David Young <dyoung>.

Display the service name in various status & error messages.

Don't getservbyname() the :port component of a URL; RFC 3986 says it's
just an unsigned number, not a service name.

Revision 1.143.4.1: download - view: text, markup, annotated - select for diffs
Wed Jan 9 02:00:41 2008 UTC (16 years, 11 months ago) by matt
Branches: matt-armv6
Diff to: previous 1.143: preferred, colored; next MAIN 1.144: preferred, colored
Changes since revision 1.143: +7 -7 lines
sync with HEAD

Revision 1.144: download - view: text, markup, annotated - select for diffs
Wed Dec 5 03:46:34 2007 UTC (17 years ago) by lukem
Branches: MAIN
CVS tags: yamt-pf42-baseX, yamt-pf42-base, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, cube-autoconf-base, cube-autoconf
Branch point for: yamt-pf42
Diff to: previous 1.143: preferred, colored
Changes since revision 1.143: +7 -7 lines
DPRINTF() consistency tweaks

Revision 1.143: download - view: text, markup, annotated - select for diffs
Thu May 24 05:05:19 2007 UTC (17 years, 6 months ago) by lukem
Branches: MAIN
CVS tags: matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, hpcarm-cleanup
Branch point for: matt-armv6
Diff to: previous 1.142: preferred, colored
Changes since revision 1.142: +19 -3 lines
Display times in RFC2822 form rather than using ctime(3), since
the former is more explicit about the timezone offset.

Revision 1.142: download - view: text, markup, annotated - select for diffs
Thu May 24 02:51:41 2007 UTC (17 years, 6 months ago) by lukem
Branches: MAIN
Diff to: previous 1.141: preferred, colored
Changes since revision 1.141: +4 -4 lines
Revert previous "64bit fix" because it actually removed desired functionality.
Instead, use the appropriate format specifier & cast to display the time_t.

Revision 1.141: download - view: text, markup, annotated - select for diffs
Tue May 22 18:02:18 2007 UTC (17 years, 6 months ago) by tnn
Branches: MAIN
Diff to: previous 1.140: preferred, colored
Changes since revision 1.140: +4 -4 lines
Unbreak debug printf on 64-bit arches.

Revision 1.140: download - view: text, markup, annotated - select for diffs
Tue May 22 05:16:48 2007 UTC (17 years, 6 months ago) by lukem
Branches: MAIN
Diff to: previous 1.139: preferred, colored
Changes since revision 1.139: +6 -13 lines
* main: call tzset() to ensure TZ is setup for other <time.h> functions.
* remotemodtime(): use strptime() to parse the reply.
* fetch_url(): ensure struct tm is zeroed before calling strptime().

Revision 1.139: download - view: text, markup, annotated - select for diffs
Tue May 15 23:54:19 2007 UTC (17 years, 7 months ago) by lukem
Branches: MAIN
Diff to: previous 1.138: preferred, colored
Changes since revision 1.138: +4 -4 lines
* Modify parse_url() to consistently strip the leading `/' off ftp URLs.
  Fixes PR 17617.
* Use 'RFCnnnn' (with leading 0) instead of 'RFC nnnn', to be
  consistent with the style in the RFC index.
* Refer to RFC3916 instead of 1738 or 2732.
* Expand the list of supported RFCs in ftp(1) to contain the document
  name as well.

Revision 1.138: download - view: text, markup, annotated - select for diffs
Tue Apr 17 05:52:04 2007 UTC (17 years, 8 months ago) by lukem
Branches: MAIN
Diff to: previous 1.137: preferred, colored
Changes since revision 1.137: +72 -30 lines
* Implement -s srcaddr; uses srcaddr as the local IP address for all
  connections.
  Based on code in the version of ftp that FreeBSD had before they
  replaced it with lukemftp.
* Move error message handling into ftp_connect() rather than in the
  caller, so that more specific error reporting can occur.
* Improve consistency of various warning and error messages.

Revision 1.137: download - view: text, markup, annotated - select for diffs
Thu Apr 12 04:18:22 2007 UTC (17 years, 8 months ago) by lukem
Branches: MAIN
Diff to: previous 1.136: preferred, colored
Changes since revision 1.136: +4 -4 lines
whitespace pedantry

Revision 1.136: download - view: text, markup, annotated - select for diffs
Wed Apr 11 00:52:38 2007 UTC (17 years, 8 months ago) by lukem
Branches: MAIN
Diff to: previous 1.135: preferred, colored
Changes since revision 1.135: +8 -3 lines
getpass() can return NULL upon error in some implementations
(as documented in older standards documents, before the API was obsoleted).
Problem observed in tnftp on Solaris by Emil Mikulic.

Revision 1.134.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 19 04:17:06 2006 UTC (18 years, 5 months ago) by chap
Branches: chap-midi
Diff to: previous 1.134: preferred, colored; next MAIN 1.135: preferred, colored
Changes since revision 1.134: +3 -3 lines
Sync with head.

Revision 1.117.2.14.2.1: download - view: text, markup, annotated - select for diffs
Fri May 26 16:47:55 2006 UTC (18 years, 6 months ago) by ghen
Branches: netbsd-3-0
CVS tags: netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE
Diff to: previous 1.117.2.14: preferred, colored; next MAIN 1.117.2.15: preferred, colored
Changes since revision 1.117.2.14: +3 -3 lines
Pull up following revision(s) (requested by jnemeth in ticket #1339):
	usr.bin/ftp/util.c: revision 1.135
Coverity CID 3610: derefencing NULL pointer.

Revision 1.117.2.15: download - view: text, markup, annotated - select for diffs
Fri May 26 16:47:46 2006 UTC (18 years, 6 months ago) by ghen
Branches: netbsd-3
CVS tags: netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1
Diff to: previous 1.117.2.14: preferred, colored; branchpoint 1.117: preferred, colored; next MAIN 1.118: preferred, colored
Changes since revision 1.117.2.14: +3 -3 lines
Pull up following revision(s) (requested by jnemeth in ticket #1339):
	usr.bin/ftp/util.c: revision 1.135
Coverity CID 3610: derefencing NULL pointer.

Revision 1.135: download - view: text, markup, annotated - select for diffs
Tue May 23 23:59:48 2006 UTC (18 years, 6 months ago) by jnemeth
Branches: MAIN
CVS tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, chap-midi-nbase, chap-midi-base, abandoned-netbsd-4-base, abandoned-netbsd-4
Diff to: previous 1.134: preferred, colored
Changes since revision 1.134: +3 -3 lines
Coverity CID 3610: derefencing NULL pointer.

Revision 1.134: download - view: text, markup, annotated - select for diffs
Fri Apr 28 20:07:57 2006 UTC (18 years, 7 months ago) by christos
Branches: MAIN
Branch point for: chap-midi
Diff to: previous 1.133: preferred, colored
Changes since revision 1.133: +8 -6 lines
Coverity CID 873: Only align if we printed a string.

Revision 1.133: download - view: text, markup, annotated - select for diffs
Tue Jan 31 20:05:36 2006 UTC (18 years, 10 months ago) by christos
Branches: MAIN
Diff to: previous 1.132: preferred, colored
Changes since revision 1.132: +10 -10 lines
rename debug to ftp_debug. grr libssh.

Revision 1.132: download - view: text, markup, annotated - select for diffs
Tue Jan 31 20:01:23 2006 UTC (18 years, 10 months ago) by christos
Branches: MAIN
Diff to: previous 1.131: preferred, colored
Changes since revision 1.131: +24 -24 lines
Rename xfoo() to ftp_foo() to avoid collisions with libssh. Don't ask.

Revision 1.117.2.14: download - view: text, markup, annotated - select for diffs
Sun Jul 24 10:33:57 2005 UTC (19 years, 4 months ago) by tron
Branches: netbsd-3
CVS tags: netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1
Branch point for: netbsd-3-0
Diff to: previous 1.117.2.13: preferred, colored; branchpoint 1.117: preferred, colored
Changes since revision 1.117.2.13: +3 -3 lines
Pull up revision 1.131 (requested by lukem in ticket #606):
forgot to remove the file pointer from the macro.

Revision 1.117.2.13: download - view: text, markup, annotated - select for diffs
Sun Jul 24 10:32:53 2005 UTC (19 years, 4 months ago) by tron
Branches: netbsd-3
Diff to: previous 1.117.2.12: preferred, colored; branchpoint 1.117: preferred, colored
Changes since revision 1.117.2.12: +13 -15 lines
Pull up revision 1.130 (requested by lukem in ticket #606):
Add NO_USAGE and NO_DEBUG so that we can fit in the floppies again.

Revision 1.117.2.12: download - view: text, markup, annotated - select for diffs
Sun Jul 24 10:30:01 2005 UTC (19 years, 4 months ago) by tron
Branches: netbsd-3
Diff to: previous 1.117.2.11: preferred, colored; branchpoint 1.117: preferred, colored
Changes since revision 1.117.2.11: +103 -48 lines
Pull up revision 1.129 (requested by lukem in ticket #606):
Implement:
    int getline(FILE *stream, char *buf, size_t buflen, const char **errormsg)
	Read a line from the FILE stream into buf/buflen using fgets(), so up
	to buflen-1 chars will be read and the result will be NUL terminated.
	If the line has a trailing newline it will be removed.
	If the line is too long, excess characters will be read until
	newline/EOF/error.
	Various -ve return values indicate different errors, and errormsg
	will be changed to an error description if it's not NULL.
Convert to use getline() instead of fgets() whenever reading user input
to ensure that an overly long input line doesn't leave excess characters
for the next input operation to accidentally use as input.
Zero out the password & account after we've finished with it.
Consistently use getpass(3) (i.e, character echo suppressed) when
reading the account data.  For some reason, historically the "login"
code suppressed echo for Account: yet the "user" command did not!
Display the hostname in the "getaddrinfo failed" warning.
Appease some -Wcast-qual warnings.  Fixing all of these requires
significant code refactoring.  (mmm, legacy code).

Revision 1.117.2.11: download - view: text, markup, annotated - select for diffs
Sun Jul 24 10:24:07 2005 UTC (19 years, 4 months ago) by tron
Branches: netbsd-3
Diff to: previous 1.117.2.10: preferred, colored; branchpoint 1.117: preferred, colored
Changes since revision 1.117.2.10: +3 -3 lines
Pull up revision 1.128 (requested by lukem in ticket #606):
formatbuf(): fix %m and %M to use the hostname, not the username.

Revision 1.117.2.10: download - view: text, markup, annotated - select for diffs
Sun Jul 24 10:23:36 2005 UTC (19 years, 4 months ago) by tron
Branches: netbsd-3
Diff to: previous 1.117.2.9: preferred, colored; branchpoint 1.117: preferred, colored
Changes since revision 1.117.2.9: +19 -8 lines
Pull up revision 1.127 (requested by lukem in ticket #606):
Improve method used in fileindir() to determine if `file' is in or under `dir':
realpath(3) on non-NetBSD systems may fail if the target filename doesn't
exist, so instead use realpath(3) on the parent directory of `file'.
Per discussion with Todd Eigenschink.

Revision 1.117.2.9: download - view: text, markup, annotated - select for diffs
Sun Jul 24 10:21:35 2005 UTC (19 years, 4 months ago) by tron
Branches: netbsd-3
Diff to: previous 1.117.2.8: preferred, colored; branchpoint 1.117: preferred, colored
Changes since revision 1.117.2.8: +55 -55 lines
Pull up revision 1.126 (requested by lukem in ticket #606):
tab cleanup

Revision 1.117.2.8: download - view: text, markup, annotated - select for diffs
Sun Jul 24 10:20:46 2005 UTC (19 years, 4 months ago) by tron
Branches: netbsd-3
Diff to: previous 1.117.2.7: preferred, colored; branchpoint 1.117: preferred, colored
Changes since revision 1.117.2.7: +12 -8 lines
Pull up revision 1.125 (requested by lukem in ticket #606):
Use size_t instead of int where appropriate.

Revision 1.117.2.7: download - view: text, markup, annotated - select for diffs
Sun Jul 24 10:19:12 2005 UTC (19 years, 4 months ago) by tron
Branches: netbsd-3
Diff to: previous 1.117.2.6: preferred, colored; branchpoint 1.117: preferred, colored
Changes since revision 1.117.2.6: +3 -3 lines
Pull up revision 1.124 (requested by lukem in ticket #606):
Some const cleanups.

Revision 1.117.2.6: download - view: text, markup, annotated - select for diffs
Sun Jul 24 10:18:16 2005 UTC (19 years, 4 months ago) by tron
Branches: netbsd-3
Diff to: previous 1.117.2.5: preferred, colored; branchpoint 1.117: preferred, colored
Changes since revision 1.117.2.5: +1 -1 lines
Pull up revision 1.123 (requested by lukem in ticket #606):
Helps if the definition of xconnect() matches its declaration....

Revision 1.131: download - view: text, markup, annotated - select for diffs
Wed Jun 29 05:00:30 2005 UTC (19 years, 5 months ago) by christos
Branches: MAIN
Diff to: previous 1.130: preferred, colored
Changes since revision 1.130: +3 -3 lines
forgot to remove the file pointer from the macro.

Revision 1.130: download - view: text, markup, annotated - select for diffs
Wed Jun 29 02:31:19 2005 UTC (19 years, 5 months ago) by christos
Branches: MAIN
Diff to: previous 1.129: preferred, colored
Changes since revision 1.129: +13 -15 lines
Add NO_USAGE and NO_DEBUG so that we can fit in the floppies again.

Revision 1.129: download - view: text, markup, annotated - select for diffs
Fri Jun 10 00:18:47 2005 UTC (19 years, 6 months ago) by lukem
Branches: MAIN
Diff to: previous 1.128: preferred, colored
Changes since revision 1.128: +103 -48 lines
Implement:
    int getline(FILE *stream, char *buf, size_t buflen, const char **errormsg)
	Read a line from the FILE stream into buf/buflen using fgets(), so up
	to buflen-1 chars will be read and the result will be NUL terminated.
	If the line has a trailing newline it will be removed.
	If the line is too long, excess characters will be read until
	newline/EOF/error.
	Various -ve return values indicate different errors, and errormsg
	will be changed to an error description if it's not NULL.

Convert to use getline() instead of fgets() whenever reading user input
to ensure that an overly long input line doesn't leave excess characters
for the next input operation to accidentally use as input.

Zero out the password & account after we've finished with it.

Consistently use getpass(3) (i.e, character echo suppressed) when
reading the account data.  For some reason, historically the "login"
code suppressed echo for Account: yet the "user" command did not!

Display the hostname in the "getaddrinfo failed" warning.

Appease some -Wcast-qual warnings.  Fixing all of these requires
significant code refactoring.  (mmm, legacy code).

Revision 1.128: download - view: text, markup, annotated - select for diffs
Fri May 27 14:35:50 2005 UTC (19 years, 6 months ago) by lukem
Branches: MAIN
Diff to: previous 1.127: preferred, colored
Changes since revision 1.127: +3 -3 lines
formatbuf(): fix %m and %M to use the hostname, not the username.

Revision 1.127: download - view: text, markup, annotated - select for diffs
Thu May 26 02:59:34 2005 UTC (19 years, 6 months ago) by lukem
Branches: MAIN
Diff to: previous 1.126: preferred, colored
Changes since revision 1.126: +19 -8 lines
Improve method used in fileindir() to determine if `file' is in or under `dir':
realpath(3) on non-NetBSD systems may fail if the target filename doesn't
exist, so instead use realpath(3) on the parent directory of `file'.
Per discussion with Todd Eigenschink.

Revision 1.126: download - view: text, markup, annotated - select for diffs
Thu May 19 03:14:52 2005 UTC (19 years, 7 months ago) by lukem
Branches: MAIN
Diff to: previous 1.125: preferred, colored
Changes since revision 1.125: +55 -55 lines
tab cleanup

Revision 1.125: download - view: text, markup, annotated - select for diffs
Thu May 19 03:05:04 2005 UTC (19 years, 7 months ago) by lukem
Branches: MAIN
Diff to: previous 1.124: preferred, colored
Changes since revision 1.124: +12 -8 lines
Use size_t instead of int where appropriate.

Revision 1.124: download - view: text, markup, annotated - select for diffs
Thu May 19 02:55:37 2005 UTC (19 years, 7 months ago) by lukem
Branches: MAIN
Diff to: previous 1.123: preferred, colored
Changes since revision 1.123: +3 -3 lines
Some const cleanups.

Revision 1.117.2.5: download - view: text, markup, annotated - select for diffs
Wed May 18 04:22:04 2005 UTC (19 years, 7 months ago) by snj
Branches: netbsd-3
Diff to: previous 1.117.2.4: preferred, colored; branchpoint 1.117: preferred, colored
Changes since revision 1.117.2.4: +2 -2 lines
Pull up revision 1.122 (requested by lukem in ticket #301):
* Correct the "optlen" argument passed to getsockopt(3) and setsockopt(3)
  in various places.  Fixes a problem noted by Allen Briggs.
* Improve warning printed when connect(2) for the data channel fails.

Revision 1.117.2.4: download - view: text, markup, annotated - select for diffs
Wed May 18 04:10:40 2005 UTC (19 years, 7 months ago) by snj
Branches: netbsd-3
Diff to: previous 1.117.2.3: preferred, colored; branchpoint 1.117: preferred, colored
Changes since revision 1.117.2.3: +8 -7 lines
Pull up revision 1.121 (requested by lukem in ticket #318):
Use socklen_t instead of int as the 5th argument to getsockopt().
Improve invocation of setsockopt() and associated failure messages.

Revision 1.123: download - view: text, markup, annotated - select for diffs
Sat May 14 18:56:45 2005 UTC (19 years, 7 months ago) by dsl
Branches: MAIN
Diff to: previous 1.122: preferred, colored
Changes since revision 1.122: +3 -3 lines
Helps if the definition of xconnect() matches its declaration....

Revision 1.122: download - view: text, markup, annotated - select for diffs
Fri May 13 05:03:49 2005 UTC (19 years, 7 months ago) by lukem
Branches: MAIN
Diff to: previous 1.121: preferred, colored
Changes since revision 1.121: +4 -4 lines
* Correct the "optlen" argument passed to getsockopt(3) and setsockopt(3)
  in various places.  Fixes a problem noted by Allen Briggs.
* Improve warning printed when connect(2) for the data channel fails.

Revision 1.121: download - view: text, markup, annotated - select for diffs
Wed May 11 02:29:13 2005 UTC (19 years, 7 months ago) by lukem
Branches: MAIN
Diff to: previous 1.120: preferred, colored
Changes since revision 1.120: +8 -7 lines
Use socklen_t instead of int as the 5th argument to getsockopt().
Improve invocation of setsockopt() and associated failure messages.

Revision 1.117.2.3: download - view: text, markup, annotated - select for diffs
Mon May 9 17:14:21 2005 UTC (19 years, 7 months ago) by tron
Branches: netbsd-3
Diff to: previous 1.117.2.2: preferred, colored; branchpoint 1.117: preferred, colored
Changes since revision 1.117.2.2: +3 -3 lines
Pull up revision 1.120 (requested by lukem in ticket #266):
correct a comment

Revision 1.117.2.2: download - view: text, markup, annotated - select for diffs
Mon May 9 17:05:44 2005 UTC (19 years, 7 months ago) by tron
Branches: netbsd-3
Diff to: previous 1.117.2.1: preferred, colored; branchpoint 1.117: preferred, colored
Changes since revision 1.117.2.1: +3 -3 lines
Pull up revision 1.119 (requested by lukem in ticket #266):
gratuitous whitespace cleanup (before someone else jumps the gun...)

Revision 1.117.2.1: download - view: text, markup, annotated - select for diffs
Mon May 9 17:01:58 2005 UTC (19 years, 7 months ago) by tron
Branches: netbsd-3
Diff to: previous 1.117: preferred, colored
Changes since revision 1.117: +77 -13 lines
Pull up revision 1.118 (requested by lukem in ticket #265):
Implement a timeout on the accept(2) in dataconn() and the
connect(2) in xconnect() by temporarily setting O_NONBLOCK
on the socket and using xpoll() to wait for the operation
to succeed.
The timeout used is the '-q quittime' argument (defaults to
60s for accept(2), and the system default for connect(2)).
Idea inspired by discussion with Chuck Cranor.
This may (indirectly) fix various problems with timeouts
in active mode through broken firewalls.
Implement xpoll() as a wrapper around poll(2), to make it
easier to replace on systems without a functional poll(2).
Unconditionally use xpoll() instead of conditionally using
select(2) or poll(2).

Revision 1.120: download - view: text, markup, annotated - select for diffs
Sat May 7 16:19:13 2005 UTC (19 years, 7 months ago) by lukem
Branches: MAIN
Diff to: previous 1.119: preferred, colored
Changes since revision 1.119: +3 -3 lines
correct a comment

Revision 1.119: download - view: text, markup, annotated - select for diffs
Mon Apr 11 01:49:31 2005 UTC (19 years, 8 months ago) by lukem
Branches: MAIN
Diff to: previous 1.118: preferred, colored
Changes since revision 1.118: +3 -3 lines
gratuitous whitespace cleanup (before someone else jumps the gun...)

Revision 1.118: download - view: text, markup, annotated - select for diffs
Mon Apr 11 01:43:31 2005 UTC (19 years, 8 months ago) by lukem
Branches: MAIN
Diff to: previous 1.117: preferred, colored
Changes since revision 1.117: +77 -13 lines
Implement a timeout on the accept(2) in dataconn() and the
connect(2) in xconnect() by temporarily setting O_NONBLOCK
on the socket and using xpoll() to wait for the operation
to succeed.
The timeout used is the '-q quittime' argument (defaults to
60s for accept(2), and the system default for connect(2)).
Idea inspired by discussion with Chuck Cranor.
This may (indirectly) fix various problems with timeouts
in active mode through broken firewalls.

Implement xpoll() as a wrapper around poll(2), to make it
easier to replace on systems without a functional poll(2).
Unconditionally use xpoll() instead of conditionally using
select(2) or poll(2).

Revision 1.117: download - view: text, markup, annotated - select for diffs
Mon Jan 3 09:50:09 2005 UTC (19 years, 11 months ago) by lukem
Branches: MAIN
CVS tags: netbsd-3-base
Branch point for: netbsd-3
Diff to: previous 1.116: preferred, colored
Changes since revision 1.116: +56 -18 lines
Forbid filenames returned from mget that aren't in (or below) the
current directory.
The previous behaviour (of trusting the remote server's response when
retrieving the list of files to mget with prompting disabled) has been
in ftp ~forever, and has been a "known issue" for a long time.
Recently an advisory was published by D.J. Bernstein on behalf of
Yosef Klein warning of the problems with the previous behaviour, so
to alleviate concern I've fixed this with a sledgehammer.

Remember the local cwd after any operation which may change it.
Use "remotecwd" instead of "remotepwd".

Revision 1.116: download - view: text, markup, annotated - select for diffs
Tue Jul 20 10:40:22 2004 UTC (20 years, 4 months ago) by lukem
Branches: MAIN
Diff to: previous 1.115: preferred, colored
Changes since revision 1.115: +5 -4 lines
If an ftp auto-fetch transfer is interrupted by SIGINT (usually ^C),
exit with 130 instead of 1 (or rarely, 0).
This allows an ftp auto-fetch in a shell loop to correctly terminate the loop.
Should fix PR [pkg/26351], and possibly others.

Revision 1.115: download - view: text, markup, annotated - select for diffs
Sat Apr 10 12:21:39 2004 UTC (20 years, 8 months ago) by lukem
Branches: MAIN
Diff to: previous 1.114: preferred, colored
Changes since revision 1.114: +19 -4 lines
If connect(2) in xconnect() fails with EINTR, call select(2) on the socket
until it's writable or it fails with something other than EINTR.
This matches the behaviour in SUSv3, and prevents the problem when
pressing ^T (SIGINFO, which is marked as restartable) during connection
setup would cause ftp to fail with EADDRINUSE or EALREADY when the
second connect(2) was attempted on the same socket.
Problem found and solution provided by Maxime Henrion <mux@freebsd.org>.

Revision 1.114: download - view: text, markup, annotated - select for diffs
Thu Aug 7 11:13:57 2003 UTC (21 years, 4 months ago) by agc
Branches: MAIN
CVS tags: netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2
Diff to: previous 1.113: preferred, colored
Changes since revision 1.113: +3 -7 lines
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.

Revision 1.113: download - view: text, markup, annotated - select for diffs
Thu Jul 31 06:57:07 2003 UTC (21 years, 4 months ago) by lukem
Branches: MAIN
Diff to: previous 1.112: preferred, colored
Changes since revision 1.112: +24 -10 lines
* Work around broken ftp servers (notably ProFTPd) that can't even follow
  RFC 2389, and skip any amount of whitespace before a FEATure response.
  The RFC says 'single space' yet ProFTPd puts two.
* Improve formatting of features[] debug dump.

Revision 1.112: download - view: text, markup, annotated - select for diffs
Sun Jun 15 13:49:46 2003 UTC (21 years, 6 months ago) by lukem
Branches: MAIN
Diff to: previous 1.111: preferred, colored
Changes since revision 1.111: +4 -3 lines
Don't coredump when printing '%n' in the prompt if there's no username yet.
Fix from Maxim Konovalov <maxim at freebsd dot org>.

Revision 1.111: download - view: text, markup, annotated - select for diffs
Fri Feb 28 09:54:51 2003 UTC (21 years, 9 months ago) by lukem
Branches: MAIN
Diff to: previous 1.110: preferred, colored
Changes since revision 1.110: +3 -3 lines
crank dates

Revision 1.106.2.1: download - view: text, markup, annotated - select for diffs
Mon Feb 10 06:03:16 2003 UTC (21 years, 10 months ago) by jmc
Branches: netbsd-1-6
CVS tags: netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001
Diff to: previous 1.106: preferred, colored; next MAIN 1.107: preferred, colored
Changes since revision 1.106: +2 -370 lines
Pullup rev 1.110 (requested by grant in ticket #1115)
 Separate progress reporting into a utility set of routines. Use
 these to provide a standalone progress binary and integrate support
 for this into sysinst.

Revision 1.110: download - view: text, markup, annotated - select for diffs
Tue Jan 21 16:08:09 2003 UTC (21 years, 10 months ago) by jhawk
Branches: MAIN
Diff to: previous 1.109: preferred, colored
Changes since revision 1.109: +2 -397 lines
Abstract out progress bar support into progressbar.[ch], for inclusion
in external programs (conditionalized on -DSTANDALONE_PROGRESS).

The following moved from util.c to progressbar.c:
  alarmtimer(), progressmeter(), psummary(), ptransfer(),
  xsignal(), xsignal_restart()

The following moved from extern.h and ftp_var.h to progressbar.h:
  STALLTIME, verbose, fromatty, progress, quit_time, ttywidth

Revision 1.109: download - view: text, markup, annotated - select for diffs
Tue Aug 27 13:11:02 2002 UTC (22 years, 3 months ago) by christos
Branches: MAIN
CVS tags: fvdl_fs64_base
Diff to: previous 1.108: preferred, colored
Changes since revision 1.108: +37 -19 lines
Add a -q <quit-time> flag to abort a transfer if it has stalled for <quit-time>
seconds. Ok'd by luke.

Revision 1.108: download - view: text, markup, annotated - select for diffs
Sat Jun 8 14:44:07 2002 UTC (22 years, 6 months ago) by yamt
Branches: MAIN
Diff to: previous 1.107: preferred, colored
Changes since revision 1.107: +3 -3 lines
make an auto const variable static.

Revision 1.107: download - view: text, markup, annotated - select for diffs
Wed Jun 5 10:20:50 2002 UTC (22 years, 6 months ago) by lukem
Branches: MAIN
Diff to: previous 1.106: preferred, colored
Changes since revision 1.106: +12 -3 lines
- when showing the final progress bar, replace "00:00 ETA" with the
  elapsed time.  (suggested by simonb)
- actually display transfer stats after a URL fetch. (bug introduced a
  *long* time ago)
- update copyright & version

Revision 1.106: download - view: text, markup, annotated - select for diffs
Wed Dec 26 09:40:16 2001 UTC (22 years, 11 months ago) by lukem
Branches: MAIN
CVS tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1
Branch point for: netbsd-1-6
Diff to: previous 1.105: preferred, colored
Changes since revision 1.105: +3 -3 lines
update copyrights

Revision 1.105: download - view: text, markup, annotated - select for diffs
Mon Feb 19 23:03:46 2001 UTC (23 years, 9 months ago) by cgd
Branches: MAIN
Diff to: previous 1.104: preferred, colored
Changes since revision 1.104: +3 -3 lines
convert to use getprogname()

Revision 1.104: download - view: text, markup, annotated - select for diffs
Mon Feb 19 20:02:42 2001 UTC (23 years, 9 months ago) by lukem
Branches: MAIN
Diff to: previous 1.103: preferred, colored
Changes since revision 1.103: +43 -31 lines
- display a limited progress bar (containing bytes xferred and xfer rate)
  when the file size is unknown
- disable progress bar during remglob()

Revision 1.103: download - view: text, markup, annotated - select for diffs
Wed Nov 15 00:11:04 2000 UTC (24 years, 1 month ago) by lukem
Branches: MAIN
Diff to: previous 1.102: preferred, colored
Changes since revision 1.102: +5 -11 lines
- implement "mreget"; as per "mget" but uses "reget" instead of "get"
- add -N netrc and $NETRC, as methods to select an alternative .netrc file
- cache local user name and home directory for further use
- in mget(), use docase() instead of a local version to do the case
  conversion.

Revision 1.102: download - view: text, markup, annotated - select for diffs
Fri Sep 8 11:54:53 2000 UTC (24 years, 3 months ago) by lukem
Branches: MAIN
Diff to: previous 1.101: preferred, colored
Changes since revision 1.101: +3 -5 lines
always include <netdb.h>, not just when INET6 is defined.
resolves PR [bin/10970] by Richard Earnshaw <rearnsha@cambridge.arm.com>>

Revision 1.101: download - view: text, markup, annotated - select for diffs
Sun Aug 27 06:31:23 2000 UTC (24 years, 3 months ago) by lukem
Branches: MAIN
Diff to: previous 1.100: preferred, colored
Changes since revision 1.100: +10 -10 lines
- in progressmeter() perform the check for foregroundproc() a little earlier
- removed unused variable `items' in list_vertical()

Revision 1.100: download - view: text, markup, annotated - select for diffs
Sun Aug 6 08:51:22 2000 UTC (24 years, 4 months ago) by lukem
Branches: MAIN
Diff to: previous 1.99: preferred, colored
Changes since revision 1.99: +35 -2 lines
* implement parseport(), which takes a string and attempts to convert
  it to a numeric port number
* use parseport() in parse_url() and hookup()
* don't try and lookup the port number using getaddrinfo(), as it's too hard
  to separate a failed host name lookup from a failed service name lookup.
  this was causing lossage on systems that don't have `http' in services(5)
  (such as solaris), but only crept in when we started using getaddrinfo()
  unconditionally.

Revision 1.99: download - view: text, markup, annotated - select for diffs
Tue Aug 1 22:47:29 2000 UTC (24 years, 4 months ago) by lukem
Branches: MAIN
Diff to: previous 1.98: preferred, colored
Changes since revision 1.98: +10 -10 lines
- rename NO_QUAD to NO_LONG_LONG, QUAD* -> LL* and add ULL* (unsigned)
  equivalents. name change suggested by Klaus Klein <kjk@netbsd.org>
- change defined(BSD4_4) || HAVE_SIN_LEN tests into HAVE_SOCKADDR_SA_LEN,
  and set the latter if BSD4_4 exists

Revision 1.98: download - view: text, markup, annotated - select for diffs
Sun Jul 30 04:42:38 2000 UTC (24 years, 4 months ago) by lukem
Branches: MAIN
Diff to: previous 1.97: preferred, colored
Changes since revision 1.97: +11 -31 lines
clean up NO_QUAD support: create helper #defines and use as appropriate:
	#define		NOQUAD		! NOQUAD
	-------		------		- ------
	QUADF		"%ld"		"%lld"
	QUADFP(x)	"%" x "ld"	"%" x "lld"
	QUADT		long		long long
	STRTOL(x,y,z)	strtol(x,y,z)	strtoll(x,y,z)

Revision 1.97: download - view: text, markup, annotated - select for diffs
Tue Jul 18 07:16:56 2000 UTC (24 years, 5 months ago) by lukem
Branches: MAIN
Diff to: previous 1.96: preferred, colored
Changes since revision 1.96: +124 -63 lines
add support for FEAT and OPTS commands with `features' and `opts'.
(from RFC 2389).

add support for MLST & MLSD (machine parseble listings) with 'mlst', 'mlsd'
and 'pmlsd' (mlsd |$PAGER) commands.  (from draft-ietf-ftpext-mlst-11)

rename remotesyst() to getremoteinfo(), and modify to parse the result from
FEAT (if supported), and take into account the support for the various
extensions such as MDTM, SIZE, REST (STREAM), MLSD, and FEAT/OPTS.
put each feature into one of the following categories:
	- known to work (explicit FEAT)
	- unknown but assume works until explicit failure, when it's
	  then tagged as `known not to work'.
	- known not to work (FEAT succeeded but didn't return anything,
	  or was unknown and then explicit failure)
assign results into features[] matrix.

add support to getreply() so that an optional callback will be called
for each line received from the server except for the first and last.
this is used in FEAT (and MLST) parsing.

modify various commands to check if REST (STREAM), MDTM and SIZE are
explicitly or implicitly supported before using.

fix `syst' when verbose is off.

minor knf (indent goto labels by one space, etc).

simply various command usage handlers by assuming that argv != NULL except
for quit() and disconnect().

Revision 1.95.2.1: download - view: text, markup, annotated - select for diffs
Fri Jun 23 16:30:25 2000 UTC (24 years, 5 months ago) by minoura
Branches: minoura-xpg4dl
Diff to: previous 1.95: preferred, colored; next MAIN 1.96: preferred, colored
Changes since revision 1.95: +67 -56 lines
Sync w/ netbsd-1-5-base.

Revision 1.96: download - view: text, markup, annotated - select for diffs
Thu Jun 15 13:08:27 2000 UTC (24 years, 6 months ago) by lukem
Branches: MAIN
CVS tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5
Diff to: previous 1.95: preferred, colored
Changes since revision 1.95: +67 -56 lines
* migrate the SYST parsing from setpeer() into a separate remotesyst().
  call remotesyst() only when login has been successful
  some servers don't let you run SYST until you've successfully logged in.
* in fetch_ftp(), always call setpeer() with autologin disabled, and use
  the following ftp_login() to DTRT.
  this prevents ftp from trying to login a second time if the first autologin
  fails when connecting to a remote site anonymously using autofetch.
* reset unix_proxy and unix_server in cleanuppeer()
* missed a function conversion in the KNF sweep...

Revision 1.95: download - view: text, markup, annotated - select for diffs
Mon May 1 10:35:19 2000 UTC (24 years, 7 months ago) by lukem
Branches: MAIN
CVS tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Diff to: previous 1.94: preferred, colored
Changes since revision 1.94: +36 -84 lines
convert to ANSI KNF

Revision 1.94: download - view: text, markup, annotated - select for diffs
Mon May 1 09:44:55 2000 UTC (24 years, 7 months ago) by lukem
Branches: MAIN
Diff to: previous 1.93: preferred, colored
Changes since revision 1.93: +3 -3 lines
* Add support for `fget localfile', which reads a list of filenames to
  retrieve from localfile.  Based on work by Darren Reed.
* Crank version.
* Update copyright dates.

Revision 1.93: download - view: text, markup, annotated - select for diffs
Mon Apr 24 05:59:39 2000 UTC (24 years, 7 months ago) by itojun
Branches: MAIN
Diff to: previous 1.92: preferred, colored
Changes since revision 1.92: +16 -4 lines
allow IPv6 extended numeric address in host part.
(draft-ietf-ipngwg-scopedaddr-format-01.txt)
fixes PR 9616.

Revision 1.92: download - view: text, markup, annotated - select for diffs
Thu Apr 13 08:13:31 2000 UTC (24 years, 8 months ago) by lukem
Branches: MAIN
Diff to: previous 1.91: preferred, colored
Changes since revision 1.91: +3 -3 lines
s/strtoq/strtoll/ (the latter is standardised)

Revision 1.46.2.3: download - view: text, markup, annotated - select for diffs
Sat Feb 12 16:53:41 2000 UTC (24 years, 10 months ago) by he
Branches: netbsd-1-4
CVS tags: netbsd-1-4-PATCH003, netbsd-1-4-PATCH002
Diff to: previous 1.46.2.2: preferred, colored; branchpoint 1.46: preferred, colored; next MAIN 1.47: preferred, colored
Changes since revision 1.46.2.2: +49 -7 lines
Pull up revisions 1.87-1.90 (via patch, requested by he):
  Work around lame ftp servers returning year 19100 for year 2000.
  Fixes PR#9289.

Revision 1.91: download - view: text, markup, annotated - select for diffs
Mon Jan 31 22:01:05 2000 UTC (24 years, 10 months ago) by lukem
Branches: MAIN
Diff to: previous 1.90: preferred, colored
Changes since revision 1.90: +6 -6 lines
define private type `sigfunc' as
	typedef void (*sigfunc) __P((int));
and replace use of sig_t and void (*)(int).

certain other OSes define sig_t differently to that (they add extra arguments),
and it causes problems due to function mismatches, etc...

Revision 1.90: download - view: text, markup, annotated - select for diffs
Wed Jan 26 11:31:55 2000 UTC (24 years, 10 months ago) by lukem
Branches: MAIN
Diff to: previous 1.89: preferred, colored
Changes since revision 1.89: +14 -4 lines
roll back to using sscanf() instead of strptime() to parse `yyyymmddhhmmss'
strings, since the latter technically can't parse dates without non
alphanumerics between the elements (even though netbsd's strptime() copes).

Revision 1.89: download - view: text, markup, annotated - select for diffs
Wed Jan 26 10:15:40 2000 UTC (24 years, 10 months ago) by lukem
Branches: MAIN
Diff to: previous 1.88: preferred, colored
Changes since revision 1.88: +10 -5 lines
put spaces between the % specifiers in the strptime format string

Revision 1.88: download - view: text, markup, annotated - select for diffs
Tue Jan 25 06:45:18 2000 UTC (24 years, 10 months ago) by lukem
Branches: MAIN
Diff to: previous 1.87: preferred, colored
Changes since revision 1.87: +4 -4 lines
be harsher about workaround

Revision 1.87: download - view: text, markup, annotated - select for diffs
Tue Jan 25 06:11:00 2000 UTC (24 years, 10 months ago) by lukem
Branches: MAIN
Diff to: previous 1.86: preferred, colored
Changes since revision 1.86: +42 -15 lines
work around lame ftpd's that don't return a correct post-Y2K date in
the output of `MDTM'.

obviously the programmer of aforementioned lame ftpd's did something like
	"19%02d", tm->tm_year
instead of
	"%04d", tm->tm_year + TM_YEAR_BASE

fixes [bin/9289] by jbernard@mines.edu

Revision 1.58.2.1: download - view: text, markup, annotated - select for diffs
Mon Dec 27 18:36:59 1999 UTC (24 years, 11 months ago) by wrstuden
Branches: wrstuden-devbsize
Diff to: previous 1.58: preferred, colored; next MAIN 1.59: preferred, colored
Changes since revision 1.58: +487 -305 lines
Pull up to last week's -current.

Revision 1.86: download - view: text, markup, annotated - select for diffs
Fri Dec 3 06:10:01 1999 UTC (25 years ago) by itojun
Branches: MAIN
CVS tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221
Diff to: previous 1.85: preferred, colored
Changes since revision 1.85: +3 -3 lines
fix memory leak in fetch_url (no freeaddrinfo was there).
sync with recent KAME.

Revision 1.85: download - view: text, markup, annotated - select for diffs
Sun Nov 28 06:32:05 1999 UTC (25 years ago) by lukem
Branches: MAIN
Diff to: previous 1.84: preferred, colored
Changes since revision 1.84: +29 -2 lines
* implement xsl_init() and  xsl_add(); error checking forms of sl_{init,add}()
* fix bug where the second press of <TAB> on an empty word (i.e, list
  all options) may have resulted in an strncmp() against NULL.  (detected
  by _DIAGASSERT())

Revision 1.84: download - view: text, markup, annotated - select for diffs
Sat Nov 27 01:00:06 1999 UTC (25 years ago) by lukem
Branches: MAIN
Diff to: previous 1.83: preferred, colored
Changes since revision 1.83: +3 -2 lines
in cleanuppeer(), reset username to NULL after free()ing it.
fixes [bin/8870] by Wolfgang Rupprecht <wolfgang@wsrcc.com>

Revision 1.83: download - view: text, markup, annotated - select for diffs
Fri Nov 26 21:41:56 1999 UTC (25 years ago) by lukem
Branches: MAIN
Diff to: previous 1.82: preferred, colored
Changes since revision 1.82: +10 -3 lines
* complete_remote(): use remglob("", ...) instead of remglob(".", ...),
  for listings of the current working directory; some ftp servers don't
  like `NLST .'.
  [noted by Giles Lean <giles@nemeton.com.au>]
* recvrequest(): treat remote=="" as remote==NULL when calling command().
  (to support the above change)
* support `[user@]' in `[user@]host' and `[user@]host[:][path]'.
  [based on idea (and initial code) from David Maxwell <david@fundy.ca>]
* `idle' may be invoked without any args
* reformat some comments
* reformat usage string in program and man page
* call updateremotepwd() after successful login, not after successful connect
* always call setsockopt(, IPPROTO_IP, IP_TOS, ) (et al); using #if
  defined(IPPROTO_IP) doesn't work on certain foreign systems where
  enums instead of #defines are used...
  [noted by Matthias Pfaller <leo@dachau.marco.de>]

Revision 1.82: download - view: text, markup, annotated - select for diffs
Fri Nov 12 02:50:38 1999 UTC (25 years, 1 month ago) by lukem
Branches: MAIN
Diff to: previous 1.81: preferred, colored
Changes since revision 1.81: +120 -3 lines
- implement `set rprompt'; right side version of `set prompt'. depends on
  EL_RPROMPT support i added to editline(3).
- allow $FTPPROMPT and $FTPRPROMPT to override defaults for the relevant
  prompts
- move `%' formatting code from prompt() to expandbuf().
- implement `%.' and `%c', similar to the same % codes in tcsh(1)
  (functionality I added to tcsh nearly 6 years ago), except that `%.'
  always does `...trailing' and `%c' always does `/<x>trailing'.
- unknown `%foo' codes get printed as `%foo'

Revision 1.81: download - view: text, markup, annotated - select for diffs
Thu Nov 11 02:53:03 1999 UTC (25 years, 1 month ago) by lukem
Branches: MAIN
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +45 -2 lines
- implement updateremotepwd(); update the global variable `remotepwd'
  to contain the remote working directory.
- add `set prompt', a user configurable prompt. (defaults to `ftp> ').
  the following escape characters a la tcsh(1) are supported: %/, %m,
  %M, and %n.
- add global var `username'; used by prompt code
- fix a couple of minor memory leaks
- bump version

Revision 1.80: download - view: text, markup, annotated - select for diffs
Tue Nov 9 07:26:50 1999 UTC (25 years, 1 month ago) by lukem
Branches: MAIN
Diff to: previous 1.79: preferred, colored
Changes since revision 1.79: +3 -3 lines
prevent minor memory leak (unnecessary strdup)

Revision 1.79: download - view: text, markup, annotated - select for diffs
Sun Oct 24 12:31:42 1999 UTC (25 years, 1 month ago) by lukem
Branches: MAIN
CVS tags: comdex-fall-1999-base, comdex-fall-1999
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +93 -36 lines
new features:
- add `usage'; displays the usage of a command.
  implemented by calling the c_handler() with argc = 0, argv = "funcname".
- add `passive auto'; does the same as $FTPMODE=auto.
- add `set [option value]'; display all options, or set an option to a value.
- add `unset option'; unset an option.
- add getoptionvalue() to retrieve an option's value, and replace a few
  global variables with calls to this.
- implement cleanuppeer(), which resets various bits of state back to
  `disconnected'. call in disconnect() and lostpeer().
- support completing on `options'.
- improve recovery after a SIGINT may have closed the connection.
  XXX: there's still a couple to fix

other stuff:
- various consistency fixes in the man page.
- ensure that the command usage strings in the code and man page match reality.
- mput/mget: check that the connection still exists before each xfer.
- minor cosmetic changes in confirm().
- set code correctly in sizecmd() and modtime()
- don't need \n in err() strings.
- change lostpeer to take an argument (rather than casting (sig_t)lostpeer
  in signal handlers)
- knf and whitespace police.

Revision 1.78: download - view: text, markup, annotated - select for diffs
Wed Oct 13 02:47:54 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.77: preferred, colored
Changes since revision 1.77: +26 -5 lines
* fix up confirm() (broke `a' and `p' in last commit)
* simplify main loop (don't need `top' variable any more)
* use a struct sockaddr_in6.sin6_addr for the result from inet_pton(),
  rather than u_char buf[16]
* add a few more comments

Revision 1.77: download - view: text, markup, annotated - select for diffs
Tue Oct 12 06:05:01 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.76: preferred, colored
Changes since revision 1.76: +8 -32 lines
a few user interface and cosmetic tweaks:
* confirm(): move from util.c to cmds.c. display mnemonic string in its prompt.
  add support for `q' (terminate current xfer), `?' (show help list)
* in various signal handlers, output a linefeed only if fromatty.
* if fgets(stdin) returned NULL (i.e, EOF), clearerr(stdin) because you don't
  want future fgets to fail. this is not done for the fgets() in the main
  command loop, since ftp will quit at that point.
* unless ftp is invoked with -a, don't retain the anonftp setting between
  hosts (`ftp somehost:' sets anonftp, but you don't want that to `stick'
  if you close that connection and open a new one).

Revision 1.76: download - view: text, markup, annotated - select for diffs
Mon Oct 11 12:35:42 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.75: preferred, colored
Changes since revision 1.75: +7 -4 lines
* in the SIGINFO/SIGQUIT handler, print a newline before displaying
  the xfer stats
* crankrate() should have a K&R decl (for consistency)

Revision 1.75: download - view: text, markup, annotated - select for diffs
Sat Oct 9 03:00:56 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.74: preferred, colored
Changes since revision 1.74: +12 -15 lines
* use sigsetjmp()/siglongjump() instead of setjmp()/longjmp(); the latter
  don't save the signal mask on some foreign systems.
* ensure signal handlers don't use stdio and do reset errno if they
  don't exit with siglongjmp()
* use a common SIGINT handler for {send,recv}request()

Revision 1.74: download - view: text, markup, annotated - select for diffs
Thu Oct 7 02:05:22 1999 UTC (25 years, 2 months ago) by simonb
Branches: MAIN
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +6 -5 lines
Minor nit - don't append a '/' to tmpdir if it already ends in a '/'.

Revision 1.73: download - view: text, markup, annotated - select for diffs
Tue Oct 5 13:05:42 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +23 -3 lines
* factor out SIGINFO setting into a handler that is always active (but only
  prints out info if bytes > 0). only set the handler if SIGINFO is defined
* hijack SIGQUIT to be the same as SIGINFO (foreign ports have this, and it's
  annoying to have SIGQUIT dump core on netbsd when it prints info on other
  systems)
* in {recv,send}request(), factor a lot of duplicated code out into a
  `cleanup' section at the end
* rework shell() a bit

Revision 1.72: download - view: text, markup, annotated - select for diffs
Tue Oct 5 01:16:14 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.71: preferred, colored
Changes since revision 1.71: +6 -6 lines
add TNFi copyright to all files i've done more than a minor amount of work to...

Revision 1.71: download - view: text, markup, annotated - select for diffs
Tue Oct 5 00:54:08 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +52 -7 lines
enhancments from Marc Horowitz <marc@mit.edu> to improve connection timeouts:
* implement xsignal_restart(), which only sets the SA_RESTART flag if
  specifically requested
* xsignal() is now a wrapper to xsignal_restart(). INFO, USR1, USR2 and WINCH
  are restartable, ALRM, INT, PIPE and QUIT are not.
* improve getreply()'s timeout code to take advantage of the above.

other changes:
* improve wording of how globbing works for `classic' URLs (host:path).
  suggested by John Refling <johnr@imageworks.com> in relation to PRs
  [bin/8519] and [bin/8520]
* always compile in the `edit' command even if NO_EDITCOMPLETE defined.
  it's just a no-op in the latter case, which is more consistent to
  the users.
* always compile in about: support (i.e, remove NO_ABOUT).
  i'm entitled to some vanity in this program...
* clean up some whitespace

Revision 1.70: download - view: text, markup, annotated - select for diffs
Fri Oct 1 06:18:32 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +2 -3 lines
* don't bother with "pathnames.h"; it contained just a single #define.
  instead, include <paths.h> in the files that need it
* slightly reorg ftp_var.h

Revision 1.69: download - view: text, markup, annotated - select for diffs
Thu Sep 30 05:38:19 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.68: preferred, colored
Changes since revision 1.68: +4 -4 lines
#define BUFLEFT is always used...

Revision 1.68: download - view: text, markup, annotated - select for diffs
Wed Sep 29 00:44:01 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.67: preferred, colored
Changes since revision 1.67: +3 -2 lines
* consistentnly use memset(a,0,c); there were some cases of memset(a,'\0',c)
* remove explicit extern int h_errno; it's in <netdb.h>
* add <termios.h> back to util.c; it contains struct winsize on some systems

Revision 1.67: download - view: text, markup, annotated - select for diffs
Tue Sep 28 09:12:06 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.66: preferred, colored
Changes since revision 1.66: +31 -39 lines
revert snprintf() -> sprintf(). the original idea was that sprintf() would be
more portable, except that certain systems have char *sprintf() instead of
int sprintf(). (we'll provide snprintf() on those)

Revision 1.66: download - view: text, markup, annotated - select for diffs
Tue Sep 28 07:54:01 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +2 -6 lines
don't fudge out the stalltime when calculating the ETA. this means that the
ETA might be over and will appear to drop rapidly, rather than being under
and appear not to change. the original code makes sense when you're testing
by suspending & resuming the client. however, the unfudged number is probably
better in reality, especially for slow spurty networks.

requested by ITOH Yasufumi <itohy@netbsd.org> in [bin/7977]

Revision 1.65: download - view: text, markup, annotated - select for diffs
Tue Sep 28 06:47:42 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.64: preferred, colored
Changes since revision 1.64: +37 -33 lines
* add new commands:
	lpage	page local files
	pdir	as dir, but through your $PAGER
	pls	as ls, but through your $PAGER
* implement docase() (a la dotrans() et al) and use appropriately, rototilling
  some duplicated code
* globulize(): modify to return a pointer to the strdup()ed result in all cases,
  and hack the code that calls it to take this into account
* replace strcpy() and strncpy() with strlcpy()
* put(), getit(): use some aptly named local vars instead of argv[...]
* delint

Revision 1.64: download - view: text, markup, annotated - select for diffs
Mon Sep 27 23:09:45 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.63: preferred, colored
Changes since revision 1.63: +8 -3 lines
* idle(): rename to idlecmd(). certain linux distributions have an incompatible
  prototype for idle() in <unistd.h> (which i thought was against namespace
  and sensibility guidelines, but...)
* consistently use xsignal() instead of signal(). we get known behaviour
  in all cases (SA_RESTART), which is good for some borken foreign systems.
* remove signal.h from most files; it's unnecessary now
* fetch_url(): use `long chunksize' instead of ssize_t; it's more portable, and
  we're setting chunksize with strtol() anyway
* xsignal(): only use SA_RESTART if it exists. SunOS 4.x doesn't have it
  but has the inverse (SA_INTERRUPT). the original function i was inspired
  from had this support (lib/signal.c, W. Richard Stevens' `UNP 2nd ed Vol 1').
* remove <termios.h> from util.c; it should be unnecessary now

Revision 1.63: download - view: text, markup, annotated - select for diffs
Sun Sep 26 14:21:50 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.62: preferred, colored
Changes since revision 1.62: +2 -3 lines
remove now-unused variable left over from last commit.
(repeat after me; `test compile before commit...')

Revision 1.62: download - view: text, markup, annotated - select for diffs
Sun Sep 26 14:18:01 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +3 -4 lines
Use tcgetpgrp(fd) instead of ioctl(fd, TIOCGPGRP, &var), because
Kimmo Suominen <kim@netbsd.org> informs me that it's more portable.

Revision 1.61: download - view: text, markup, annotated - select for diffs
Sun Sep 26 02:00:12 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +3 -137 lines
* replace ifdefs against __SVR4 and __linux__ with DIRENT_MISSING_D_NAMLEN;
  it's more portable and more obvious
* remove the mkgmtime() && HAVE_TIMEGM stuff:
	a) why should netbsd have to define HAVE_TIMEGM to compile cleanly?
	b) foreign compiles of ftp should just be linked with working
	   timegm function

a more portable version of this ftp client will be released as a 3rdparty
product; no use polluting our code with half-baked attempts...

Revision 1.60: download - view: text, markup, annotated - select for diffs
Fri Sep 24 14:28:14 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.59: preferred, colored
Changes since revision 1.59: +6 -6 lines
* use %lld instead of %qd to print out (long long) vars.
  (slightly more portable; e.g, solaris supports this)
* remove some fluff (lint)

Revision 1.59: download - view: text, markup, annotated - select for diffs
Fri Sep 24 00:48:24 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +64 -58 lines
* finish replacing snprintf() with sprintf(), for portability reasons.
  add lots of comments about how to size up the buffers, and add extra
  checks to hopefully ensure that there won't be an overflow (unless
  someone modifies the length of the sprintf()s).
* as part of the above, slightly rework the way the `*' bar is calculated.
  also fixes a display bug when > 160 stars were needed to be printed.
  the maximum progress bar width at this time is 256.
* remove some code that checks the port that was #if 0-ed out as part of the
  ipv6 migration; it's not going to be used again.

Revision 1.58: download - view: text, markup, annotated - select for diffs
Wed Sep 22 07:18:37 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Branch point for: wrstuden-devbsize
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +9 -47 lines
* add support for `xferbuf', which sets both `sndbuf' and `rcvbuf'
* document the above three commands
* rototill the way the sndbuf and rcvbuf work. remove resetsockbufsize()
* use the appropriate socket buffer size as the size of the buffer that
  the read()/write() loops use. speeds up things in some cases.

Revision 1.57: download - view: text, markup, annotated - select for diffs
Wed Sep 22 03:01:54 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.56: preferred, colored
Changes since revision 1.56: +11 -6 lines
replace snprintf() with strlcpy(), strlcat(), or direct assignment
where appropriate. (strlc*() are easier to port to foriegn systems).

XXX; there's still a few snprintf's in the progress meter stuff to convert

Revision 1.56: download - view: text, markup, annotated - select for diffs
Tue Sep 21 11:18:27 1999 UTC (25 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +10 -8 lines
cast 4th arg to [gs]etsockopt() to (void *), to satisfy some foriegn systems

Revision 1.55: download - view: text, markup, annotated - select for diffs
Mon Jul 12 13:20:35 1999 UTC (25 years, 5 months ago) by lukem
Branches: MAIN
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +22 -2 lines
* change fetch_ftp() to be fully rfc 1738 compliant; if the URL contains
  the an empty directory (e.g, between `some' and `path' in
  `ftp://host/some//path'), then execute `CWD ' (without a path).
  This command will probably fail on rfc 959 compliant servers, so
  issue a warning in this case and bail. [noted by cgd].
  (i wonder if the people who wrote rfc 1738 actually realised that this
  requirement appears to contravene the spec for `cwd' in rfc 959 ?)
* replace isurl() with isipv6addr(), and use appropriately. fixes
  auto-login with `classic ftp URLs' (e.g, `ftp somehost:')
* cleanup and rework some of the ipv6 stuff in parse_url()
* prevent potential coredump in fetch_ftp() when parsing `;type=X'
* KNF a few lines
* fix a couple of comments
* cleanup the man page a bit

Revision 1.54: download - view: text, markup, annotated - select for diffs
Fri Jul 2 08:07:42 1999 UTC (25 years, 5 months ago) by itojun
Branches: MAIN
Diff to: previous 1.53: preferred, colored
Changes since revision 1.53: +8 -3 lines
add dual-stack (IPv4/v6) support.  hope I broke no other part...

Revision 1.53: download - view: text, markup, annotated - select for diffs
Tue Jun 29 10:43:19 1999 UTC (25 years, 5 months ago) by lukem
Branches: MAIN
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +61 -20 lines
[fear this; more ftp hacking from lukem :-]

features:
---------
* transfer rate throttling with the new `rate' command. syntax:
	rate direction [max [incr]]
  where direction is `all', `get' or `put'.
  if max is not supplied, the current settings are displayed.
  if max is supplied, then transfers in the given direction will
  be throttled to this value.
  if incr is supplied, the increment for the `on-the-fly' scaling
  will be set to that, otherwise `1024' is used.
  currently implemented for binary get, binary put, and url fetches.
  not yet supported for ascii get or put, or local file copies.
* on-the-fly scaling of the throttle based on signals:
    - SIGUSR1 raises the throttle rate by the increment for that direction
    - SIGUSR2 lowers the throttle rate by the increment for that direction
* -T dir,max[,incr] option to set rate from the command line
* `k', `m', `g' suffix support for bytecounts in the `hash', `rate',
  `rcvbuf' and `sndbuf' commands)

bug fixes and code mods:
------------------------
* fix up ftp_login() so that ruserpass() is always called, even for
  command-line url fetches.
* implement strsuftoi(), which parses a given number into a int with
  suffix support. replaces getsockbufsize()
* implement parserate(), which does the argv parsing for -T and rate
* save and restore errno in signal handlers (may not be necessary, but
  it doesn't hurt)

notes:
------
the rate command has had reasonable testing, but I'd like feedback
if it doesn't do the right thing, especially from people on slower
(i.e, modem) links.
I haven't tested the rate throttle against a http server which does
`transfer-encoding: chunked' because I couldn't find a server to
test against.

Revision 1.52: download - view: text, markup, annotated - select for diffs
Sat Jun 26 00:17:02 1999 UTC (25 years, 5 months ago) by lukem
Branches: MAIN
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +8 -10 lines
always compile in ptransfer() (and bits of progressmeter()), so that
transfer stats are printed when verbose is enabled even if ftp is compiled
with -DNO_PROGRESS/-DSMALL. this adds back some feedback that existed
in traditional ftp that was lost when i added the progress meter.  (noticed
when ftp-ing from the -DSMALL version of ftp that's on the 1.4 boot floppy)

Revision 1.46.2.2: download - view: text, markup, annotated - select for diffs
Fri Jun 25 01:15:42 1999 UTC (25 years, 5 months ago) by cgd
Branches: netbsd-1-4
CVS tags: netbsd-1-4-PATCH001
Diff to: previous 1.46.2.1: preferred, colored; branchpoint 1.46: preferred, colored
Changes since revision 1.46.2.1: +12 -10 lines
pull up rev 1.50 from trunk. (cgd)

Revision 1.51: download - view: text, markup, annotated - select for diffs
Thu Jun 24 23:21:02 1999 UTC (25 years, 5 months ago) by christos
Branches: MAIN
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +8 -5 lines
Avoid free'ing junk. It pisses off gnumalloc.

Revision 1.46.2.1: download - view: text, markup, annotated - select for diffs
Tue Jun 22 21:03:25 1999 UTC (25 years, 5 months ago) by perry
Branches: netbsd-1-4
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +62 -26 lines
pullup 1.46->1.49 (lukem)

Revision 1.50: download - view: text, markup, annotated - select for diffs
Sun Jun 20 22:07:29 1999 UTC (25 years, 5 months ago) by cgd
Branches: MAIN
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +12 -10 lines
split the "SMALL" #ifdefs into ones for NO_ABOUT, NO_EDITCOMPLETE, and
NO_PROGRESS.  -DSMALL still implies all of those.  progress meter support
isn't necessary for the smallest possible ftp client, but it adds very
little space and makes users' lives much better.  Therefore, it should
be enabled for installation media if at all possible.

Revision 1.49: download - view: text, markup, annotated - select for diffs
Wed Jun 2 02:03:58 1999 UTC (25 years, 6 months ago) by lukem
Branches: MAIN
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +34 -15 lines
* fix gate mode to login as `user@realhost' rather than using PASSERVE;
  the latter only seemed to work for TIS Gauntlet and not TIS fwtk.
  thanks to simonb@netbsd.org for testing this. fixes [bin/5556].
* if EOF (e.g, ^D) is entered at a username/password/account prompt which
  happens to use fgets(), exit the login rather than treating EOF as CR.
* don't use the comma operator where separate statements are valid
* always use snprintf to copy stuff into malloced buffers, just in case
  typos creep in and mean that the buffer ends up being overflowed

Revision 1.48: download - view: text, markup, annotated - select for diffs
Thu May 20 14:08:12 1999 UTC (25 years, 7 months ago) by matthias
Branches: MAIN
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +5 -5 lines
ftp_login would only return success for proxy connections after the last
change. Fix this by setting rval at the right place.

Revision 1.47: download - view: text, markup, annotated - select for diffs
Wed May 5 16:04:58 1999 UTC (25 years, 7 months ago) by lukem
Branches: MAIN
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +32 -15 lines
* fix ftp_login() so that -a always logs in anonymously, even if a
  .netrc entry exists for the host with a valid user. noted by
  Frederick Bruckman <fb@enteract.com> in [bin/7477]
* fix a minor memory leak associated with calling ruserpass() with
  an empty user, password, or account.

Revision 1.46: download - view: text, markup, annotated - select for diffs
Mon Mar 8 03:09:08 1999 UTC (25 years, 9 months ago) by lukem
Branches: MAIN
CVS tags: netbsd-1-4-base, netbsd-1-4-RELEASE
Branch point for: netbsd-1-4
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +3 -3 lines
whitespace & copyright fixes

Revision 1.45: download - view: text, markup, annotated - select for diffs
Fri Feb 12 12:11:18 1999 UTC (25 years, 10 months ago) by lukem
Branches: MAIN
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +21 -20 lines
always run progressmeter() even if it's not the foregroundproc(), as some
calculations need to occur to prevent the calculated xfer rate from being
too fast if ftp(1) is backgrounded for a while during the xfer.
bug found by thor lancelot simon <tls@netbsd.org>.

Revision 1.44: download - view: text, markup, annotated - select for diffs
Sun Feb 7 13:15:12 1999 UTC (25 years, 10 months ago) by lukem
Branches: MAIN
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +3 -2 lines
ftpvis(): escape LF too

Revision 1.43: download - view: text, markup, annotated - select for diffs
Sun Feb 7 13:14:07 1999 UTC (25 years, 10 months ago) by lukem
Branches: MAIN
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +32 -4 lines
changes to fix [bin/6951] by Peter Simons <simons@cys.de>:
* implement ftpvis(), which \ quotes the following in the given string:
  SP, TAB, \, CR, "
* use ftpvis() in complete_ambiguous(), to escape characters in a word
  which would confuse makeargv()/slurpstring().

Revision 1.42: download - view: text, markup, annotated - select for diffs
Sun Jan 31 02:29:00 1999 UTC (25 years, 10 months ago) by lukem
Branches: MAIN
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +4 -4 lines
revert previous write->fwrite conversion in progressmeter(); stdio is bad in signal handlers, nkay?

Revision 1.41: download - view: text, markup, annotated - select for diffs
Sun Jan 24 02:39:30 1999 UTC (25 years, 10 months ago) by lukem
Branches: MAIN
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +8 -5 lines
* -v enables verbose & progress, -V disables both
* set setvbuf(ttyout, NULL, _IOLBF, 0) and remove a bunch of fflush(ttyout).
* use fwrite() instead of write() for progressmeter (don't intermix stdio
  with non stdio ops)

Revision 1.16.2.6: download - view: text, markup, annotated - select for diffs
Mon Jan 18 05:45:52 1999 UTC (25 years, 11 months ago) by cgd
Branches: netbsd-1-3
Diff to: previous 1.16.2.5: preferred, colored; branchpoint 1.16: preferred, colored; next MAIN 1.17: preferred, colored
Changes since revision 1.16.2.5: +9 -2 lines
patch to fix 1.3.3's filename completion problems.  Fixes PR#6647.  (frueauf)

Revision 1.40: download - view: text, markup, annotated - select for diffs
Tue Jan 5 22:54:49 1999 UTC (25 years, 11 months ago) by lukem
Branches: MAIN
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +2 -3 lines
whitespace fix

Revision 1.39: download - view: text, markup, annotated - select for diffs
Fri Jan 1 03:55:26 1999 UTC (25 years, 11 months ago) by lukem
Branches: MAIN
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +10 -12 lines
improve previous, so that display rounding is done to binary boundaries
(1024 not 1000) because the prefix determination is done that way.
tested on various boundary conditions.

Revision 1.38: download - view: text, markup, annotated - select for diffs
Fri Jan 1 02:05:05 1999 UTC (25 years, 11 months ago) by lukem
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +31 -21 lines
add two digits of precision to the transfer rate, and always show at
least KB/s. instead of printing `5414 B/s' now print `5.41 KB/s'.

Revision 1.37: download - view: text, markup, annotated - select for diffs
Tue Dec 29 14:27:59 1998 UTC (25 years, 11 months ago) by lukem
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +5 -5 lines
be consistent with return (foo) style

Revision 1.16.2.5: download - view: text, markup, annotated - select for diffs
Mon Nov 23 03:56:56 1998 UTC (26 years ago) by cgd
Branches: netbsd-1-3
CVS tags: netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003
Diff to: previous 1.16.2.4: preferred, colored; branchpoint 1.16: preferred, colored
Changes since revision 1.16.2.4: +137 -9 lines
pull up rev 1.36 from trunk (itohy)

Revision 1.36: download - view: text, markup, annotated - select for diffs
Wed Nov 18 07:24:26 1998 UTC (26 years, 1 month ago) by itohy
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +137 -9 lines
Temporary fix of UTC -> time_t conversion:
1. changed to use timegm(3) on NetBSD and
2. supply alternative code for other Unix-like OSs
(NetBSD ftp shall be portable for some reasons :-).

This fix closes PR #6448.

NOTE: This should be fixed again if a portable UTC to time_t
conversion method is specified in some standards.

Revision 1.16.2.4: download - view: text, markup, annotated - select for diffs
Sun Nov 15 19:15:08 1998 UTC (26 years, 1 month ago) by cgd
Branches: netbsd-1-3
Diff to: previous 1.16.2.3: preferred, colored; branchpoint 1.16: preferred, colored
Changes since revision 1.16.2.3: +5 -3 lines
patch from Simon Burge to make this actually compile on the branch

Revision 1.16.2.3: download - view: text, markup, annotated - select for diffs
Tue Nov 10 18:49:11 1998 UTC (26 years, 1 month ago) by cgd
Branches: netbsd-1-3
Diff to: previous 1.16.2.2: preferred, colored; branchpoint 1.16: preferred, colored
Changes since revision 1.16.2.2: +404 -111 lines
pull up rev(s) 1.19-1.35 from trunk and patch to work on 1.3 branch.  (feyrer)

Revision 1.35: download - view: text, markup, annotated - select for diffs
Fri Nov 6 16:53:29 1998 UTC (26 years, 1 month ago) by christos
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +3 -3 lines
char -> unsigned char

Revision 1.34: download - view: text, markup, annotated - select for diffs
Mon Sep 28 09:03:22 1998 UTC (26 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +38 -17 lines
* add transfer rate to progress meter. (suggested by hubert feyrer)
* fix up progress meter display for files once > ~20.47MB has been
  transferred.  (noted by darren reed)
* use xsignal() for SIGWINCH, so window resizes don't abort xfers on
  drainbamaged systems.
* don't assume that TIOCGWINSZ returns a non zero width.

Revision 1.33: download - view: text, markup, annotated - select for diffs
Sat Aug 8 06:46:02 1998 UTC (26 years, 4 months ago) by lukem
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +19 -3 lines
* implement xsignal(); same semantics as signal() but uses sigaction
  with an explicit SA_RESTART. (needed for portability)
* use xsignal() for SIGALRM and SIGINFO handlers

Revision 1.32: download - view: text, markup, annotated - select for diffs
Sat Aug 8 05:06:56 1998 UTC (26 years, 4 months ago) by lukem
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +11 -7 lines
missed a NO_QUAD situation. be consistent in use of ifndef NO_QUAD

Revision 1.31: download - view: text, markup, annotated - select for diffs
Mon Aug 3 01:49:26 1998 UTC (26 years, 4 months ago) by lukem
Branches: MAIN
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +47 -28 lines
features:
* support $no_proxy, which is a comma or space separated list of
  host[:port] elements for which proxying is to be disabled.
  (asked for by cgd in [bin/5027])
* if $FTPANONPASS is defined, use that as the anon ftp password
  (instead of "`whoami`@")
* allow http URL's without a filename as long as an output file
  is specified.

other stuff:
* implement parse_url(), which breaks up a URL into its bits, and use.
* simplify url_get() and auto_fetch() to use parse_url() and to not
  modify the supplied URL or a copy of it.
* implement xmalloc() and xstrdup(); error-checked malloc()/strdup()
* add more consistency to messages, quoting strings in output as `%s'

Revision 1.30: download - view: text, markup, annotated - select for diffs
Wed Jul 29 02:46:26 1998 UTC (26 years, 4 months ago) by lukem
Branches: MAIN
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +11 -5 lines
check EL_EDITMODE after el_source and disable editing if necessary

Revision 1.29: download - view: text, markup, annotated - select for diffs
Sun Jul 26 21:47:48 1998 UTC (26 years, 4 months ago) by mycroft
Branches: MAIN
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +5 -5 lines
const poisoning.

Revision 1.28: download - view: text, markup, annotated - select for diffs
Wed Jul 22 16:06:28 1998 UTC (26 years, 4 months ago) by lukem
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +4 -4 lines
* send 'Connection: close' in HTTP/1.1 headers, preventing the
  remove server from using a persistent connection, which speeds
  up such requests.
* support http 301 and 302 redirects
* rewrite guts of url_get() to use fparseln() et al instead of
  read(s,&p,1)...  enables each in the header to be parsed
  as necessary
* rename login to ftp_login, to remove conflict with util.h::login
* cleanup verbose messages during http proxy requests

Revision 1.27: download - view: text, markup, annotated - select for diffs
Fri Jul 10 04:39:04 1998 UTC (26 years, 5 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +149 -2 lines
Add "sndbuf" and "rcvbuf" commands for setting the socket buffer sizes,
which in turn can allow the use of larger TCP windows.  This is a work in
progress; there is not yet support for specifying global defaults or
user prefrences on a host/network basis.

Revision 1.26: download - view: text, markup, annotated - select for diffs
Mon Jul 6 06:50:49 1998 UTC (26 years, 5 months ago) by mrg
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +5 -4 lines
- use an array MAXHOSTNAMELEN+1 size to hold hostnames
- ensure hostname from gethostname() is nul-terminated in all cases
- minor KNF
- use MAXHOSTNAMELEN over various other values/defines
- be safe will buffers that hold hostnames

Revision 1.25: download - view: text, markup, annotated - select for diffs
Fri Jun 19 23:01:21 1998 UTC (26 years, 6 months ago) by kleink
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +3 -3 lines
GLOB_QUOTE is dead; per POSIX, backslash quoting of special characters being
enabled is the default behaviour.

Revision 1.24: download - view: text, markup, annotated - select for diffs
Thu Jun 4 08:28:36 1998 UTC (26 years, 6 months ago) by lukem
Branches: MAIN
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +70 -45 lines
some fixes & enhancements from openbsd's ftp, with extra fixes by me:
* default to passive with active fallback. $FTPMODE modifies this behaviour.
  -A forces active connection.
* support '-o outfile' for auto-fetched files. outfile can be a file,
  `-' (for stdout), or '|command' (to output each file through command).
* support '-r waittime', which retries the connection after waittime seconds
  if it fails.
* fix 'page file' when restart is non-zero.
* try all ip-addresses of a host in a http fetch (as the normal ftp fetch
  does).

XXX: a ``broken pipe'' error sometimes occurs with -o '|command';
i haven't tracked this down yet.

Revision 1.23: download - view: text, markup, annotated - select for diffs
Wed May 20 00:55:52 1998 UTC (26 years, 7 months ago) by christos
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +22 -7 lines
- add <signal.h> since we are using signals.
- cast arg to is*() to unsigned char.
- don't require quad_t to exist to compile.
- adapt to the new libedit version.

Revision 1.22: download - view: text, markup, annotated - select for diffs
Wed Feb 4 15:23:54 1998 UTC (26 years, 10 months ago) by christos
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +3 -3 lines
Don't hardcode 1900

Revision 1.21: download - view: text, markup, annotated - select for diffs
Tue Jan 20 04:39:34 1998 UTC (26 years, 10 months ago) by lukem
Branches: MAIN
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +34 -10 lines
cosmetic mods to ptransfer() (which displays transfer statistics for
SIGINFO and at the end of the transfer):
* display time taken as [[x days?] hh:]mm:ss
* display ETA as [hh:]mm:ss
* print ' (stalled)' if the transfer is stalled

Revision 1.20: download - view: text, markup, annotated - select for diffs
Sun Jan 18 22:09:43 1998 UTC (26 years, 11 months ago) by lukem
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +3 -3 lines
define MAX_IN_PORT_T and use instead of USHRT_MAX. suggested by cgd@netbsd.org

Revision 1.19: download - view: text, markup, annotated - select for diffs
Sun Jan 18 14:23:38 1998 UTC (26 years, 11 months ago) by lukem
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +9 -8 lines
* ensure buffer for username is initialised, so ^D on username prompt
  doesn't use garbage for the username.  from "Soren S. Jorvang" <soren@t.dk>
  in [bin/4559]
* use in_port_t for ports, and USHRT_MAX instead of 0xffff
  (from millert@openbsd.org)
* use `NULL' instead of `(.... *)0' where appropriate.

Revision 1.16.2.2: download - view: text, markup, annotated - select for diffs
Sun Dec 14 01:19:52 1997 UTC (27 years ago) by mellon
Branches: netbsd-1-3
CVS tags: netbsd-1-3-RELEASE, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001
Diff to: previous 1.16.2.1: preferred, colored; branchpoint 1.16: preferred, colored
Changes since revision 1.16.2.1: +9 -3 lines
Pull rev 1.18 up from trunk (gwr)

Revision 1.18: download - view: text, markup, annotated - select for diffs
Fri Dec 12 23:34:57 1997 UTC (27 years ago) by gwr
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +9 -3 lines
Kill the "progress bar" stuff when compiled with -DSMALL
because progressmeter() uses floats which are unwanted
when this is built under src/distrib/utils/x_ftp
(Maybe -DNO_FLOAT would be better?)

Revision 1.16.2.1: download - view: text, markup, annotated - select for diffs
Tue Nov 18 01:02:33 1997 UTC (27 years, 1 month ago) by mellon
Branches: netbsd-1-3
CVS tags: netbsd-1-3-BETA
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +18 -16 lines
Pull rev 1.17 up from trunk (lukem)

Revision 1.17: download - view: text, markup, annotated - select for diffs
Sat Nov 1 14:37:05 1997 UTC (27 years, 1 month ago) by lukem
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +18 -16 lines
* in recvrequest(), ignore restart_point unless "RETR"ieving. fixes problems
  where a remote completion or `mget' would confuse the client a `restart'
  had been issued beforehand. now, `restart' is remembered until an operation
  that can actually use it is invoked.
* in sendrequest(), don't reset restart_point upon entry. fixes `restart'
  for `put' operations.
* if `restart' is invoked with no arguments, print current setting instead
  of displaying a usage
* consistently use printf("%qd", (long long)restart_point) when displaying
  restart_point
* use strto[lq]() instead of atol() when parsing `mark' and `restart' values
* remove unnecessary strlen()s when result of previous snprintf() will do
* replace a few malloc()/strcpy()s with strdup()s
* use SECSPERHOUR instead of '3600'

Revision 1.16: download - view: text, markup, annotated - select for diffs
Tue Oct 14 16:31:26 1997 UTC (27 years, 2 months ago) by christos
Branches: MAIN
CVS tags: netbsd-1-3-base
Branch point for: netbsd-1-3
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +5 -3 lines
PR/4257: Jaromir Dolecek: Compensate for the libedit changes.

Revision 1.15: download - view: text, markup, annotated - select for diffs
Sat Oct 11 12:05:15 1997 UTC (27 years, 2 months ago) by mycroft
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +29 -22 lines
If the ETA is too large to fit on the display (i.e. 100 hours or more), don't
try to display it.
Also, eliminate many extra calls to strlen().

Revision 1.14: download - view: text, markup, annotated - select for diffs
Sun Sep 21 01:06:32 1997 UTC (27 years, 2 months ago) by lukem
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +15 -9 lines
More cleanups from Todd Miller <Todd.Miller@courtesan.com>:
* Use an int, not "union wait".
* Move the "parsed_url" label so that the next statement is not an "else" --
  some ansi C compilers don't like it the old way (SGI's for example).
* Deal with the possibility of getlogin(2) failing.
* Don't error out if the remote server doesn't support the "MDTM" command.

Revision 1.13: download - view: text, markup, annotated - select for diffs
Sat Aug 23 07:32:55 1997 UTC (27 years, 3 months ago) by lukem
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +3 -3 lines
support $TMPDIR

Revision 1.12: download - view: text, markup, annotated - select for diffs
Mon Aug 18 10:20:27 1997 UTC (27 years, 4 months ago) by lukem
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +27 -6 lines
bugs fixed:
* don't interpret '-' or '|' when a local filename is determined from
  the remote name (i.e, in mget, and in get with only one argument).
  This is implemented using an extra argument to recvrequest().
  Fixes a major security hole.
* clean up memory leak when using globulize()
* clean up a couple of comments
* fix wording in TNF copyright

features added:
* support for TIS fwtk gate-ftp servers:
	* read defaults from $FTPSERVER && $FTPSERVERPORT
	* start in gate-ftp mode if invoked as 'gate-ftp'
	* toggle or set with 'gate [host [port]]'

Revision 1.11: download - view: text, markup, annotated - select for diffs
Mon Jul 21 14:03:49 1997 UTC (27 years, 4 months ago) by lukem
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +15 -7 lines
fix compile on alpha:
* cast all %qd printfs to (long long) [inspired by billc@warped.net]
* replace sscanf %qd with strtoq() et al

Revision 1.10: download - view: text, markup, annotated - select for diffs
Sun Jul 20 09:46:03 1997 UTC (27 years, 5 months ago) by lukem
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +16 -7 lines
* use RCSID() && COPYRIGHT() macros
* cleanup for WARNS=1 (including some ugly '(void)&var' bits wrapped in
  #ifdef __GNUC__ to shut up gcc warnings WRT setjmp/longjmp)
* use strtol() instead of atoi(), and more extensively check result of
  conversion
* use u_int16_t instead of short or int for TCP port addresses

Revision 1.9: download - view: text, markup, annotated - select for diffs
Tue Jun 10 22:00:01 1997 UTC (27 years, 6 months ago) by lukem
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +14 -4 lines
* Only print the progress bar when ftp(1) is the foreground progress.
  Patch from enami tsugutomo <enami@ba2.so-net.or.jp> in [bin/3735].
* Fix punctuation.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Mon May 12 11:41:13 1997 UTC (27 years, 7 months ago) by lukem
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +6 -4 lines
don't print -ve ETA if file size has grown. noticed by hpeyerl@netbsd.org

Revision 1.7: download - view: text, markup, annotated - select for diffs
Mon Apr 14 09:09:24 1997 UTC (27 years, 8 months ago) by lukem
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +108 -3 lines
More enhancements/bugfixes (when will it end?)
* differentiate between being connected, and being logged in
* cleanup some text messages
* support username & password ftp URLs (ftp://user:pass@host/) in non-proxy
  situations; assume proxy supports it for proxy situations.
* cd to / before performing any autofetch transfers
* use strncasecmp in URL parsing. fix from <Todd.Miller@courtesan.com>

Revision 1.6: download - view: text, markup, annotated - select for diffs
Sat Apr 5 03:27:39 1997 UTC (27 years, 8 months ago) by lukem
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +39 -3 lines
* support $ftp_proxy for ftp:// transfers [bin/3245]
* add "more" & "less" as synonyms for "page"
* move editline setup code into controlediting(), and call appropriately.
  only setup setup terminal if going into interactive mode. inspired
  by Todd Miller <todd.miller@courtesan.com>

Revision 1.5: download - view: text, markup, annotated - select for diffs
Thu Mar 13 06:23:21 1997 UTC (27 years, 9 months ago) by lukem
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +65 -54 lines
Features:
* support remglobbing of auto_fetch arguments
* new flag - '-e'; disable editing
* "page file" == "get file |${PAGER-less}"

Bugfixes/cleanup:
* consistently use a trailing '.' on messages
* code cleanup, including buffer overrun fixes, use puts
  and putchar in places, etc (inspired by OpenBSD mods)
* disable progress bar when local-file is a pipe or '-'
* skip \r in http headers
* fix remote ftpd slash bug more elegantly (so it works with ////)
* abort_remote(): check if cout==NULL before using it. should fix [bin/3273]
* fixed up cosmetic problems when complete_remote() generated errors from the
  remote server (such as "no files found", "login with user and pass", ...)
  done by adding extra argument to remglob(), which is a pointer to an error
  buffer to put messages in rather than printing to stdout.

Revision 1.4: download - view: text, markup, annotated - select for diffs
Sat Feb 1 11:26:34 1997 UTC (27 years, 10 months ago) by lukem
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +3 -3 lines
don't display negative ETA upon SIGINFO because filesize isn't known

Revision 1.3: download - view: text, markup, annotated - select for diffs
Sat Feb 1 10:45:08 1997 UTC (27 years, 10 months ago) by lukem
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +97 -39 lines
[Yet Another Huge Ftp Commit - hopefully the last for a while,
 barring any more little things people want added ...]

New features:
* progressmeter is now asynchronous, so "stalled" transfers can be
  detected. "- stalled -" is displayed instead of the ETA in this case.
  When the xfer resumes, the time that the xfer was stalled for is
  factored out of the ETA. It is debatable whether this is better than
  not factoring it out, but I like it this way (I.e, if it stalls for 8
  seconds and the ETA was 30 seconds, when it resumes the ETA will still
  be 30 seconds).
* verbosity can be disabled on the command line (-V), so that in auto-fetch
  mode the only lines displayed will be a description of the file, and
  the progress bar (if possible)
* if the screen is resized (and detected via the SIGWINCH signal), the
  progress bar will rescale automatically.

Bugs fixed:
* progress bar will not use the last character on the line, as this can
  cause problems on some terminals
* screen dimensions (via ioctl(TIOCWINSZ)) should use stdout not stdin
* progressmeter() used some vars before initialising them
* ^D will quit now. [fixes bin/3162]
* use hstrerror() to generate error message for host name lookup failure.
* use getcwd instead of getwd (it should have been OK, but why tempt fate?)
* auto-fetch transfers will always return a positive exit value upon failure
  or interruption, relative to the file's position in argv[].
* remote completion of / will work, without putting a leading "///".
  This is actually a bug in ftpd(1), where "NLST /" prefixes all names
  with "//", but fixing every ftpd(1) is not an option...

Revision 1.2: download - view: text, markup, annotated - select for diffs
Thu Jan 30 03:36:26 1997 UTC (27 years, 10 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +3 -3 lines
Don't try to divide by zero in progressmeter().
From Thorsten Frueauf <frueauf@ira.uka.de>, PR #3160.

Revision 1.1: download - view: text, markup, annotated - select for diffs
Sun Jan 19 14:19:17 1997 UTC (27 years, 11 months ago) by lukem
Branches: MAIN
New features:
* Command line editing via editline(3) library.
* Context sensitive command and file completion, including remote files.

Enhancements to auto-fetch feature:
* Support for http:// URLs using the http protocol, including proxy HTTP
  support via $htty_proxy if it's defined.
* The connection is kept open between successive files on the same host.
  (obviously, this does not count for http requests.)
* Return value of ftp is 0 on no error, or the offset in argv[] of the file
  which failed (i.e., argv[x] failed, ftp returns x).
* If the path in an ftp URL or classic format line has a trailing '/',
  cd to the path and enter interactive mode. Fixes [bin/3011], albiet
  requiring the user to help ftp in determining the operation.

Other changes:
* '-P port' works for normal ftp, and is the default for all classic style
  auto-fetch transfers and for ftp URLs that don't specify the port.
  (previously it would just work for the first xfer.)
* Some code moved into separated files along logical divisions.
* Editing and completion can be compiled out with -DSMALLFTP.

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options

CVSweb <webmaster@jp.NetBSD.org>