NcFTP 3.3.0 for AmigaOS 3.x (m68k)
==================================
NcFTP is a free set of FTP programs that has been around since 1992.
This is a port of the current 3.3.0 release to AmigaOS m68k; it
supersedes comm/net/ncftp-3.2.0.lha.
All binaries are plain 68000 code (softfloat) and run on any Amiga.
They are linked against clib2, so no ixemul.library is required.
Included programs
-----------------
ncftp interactive FTP client
ncftpget non-interactive download (script friendly)
ncftpput non-interactive upload
ncftpls non-interactive directory listing
ncftpbatch spool processing for "bgget"/"bgput" jobs
ncftpbookmarks bookmark editor (full-screen TUI, ncurses)
Filename completion and command line editing are built in - GNU
Readline is not required. Passive mode (PASV) is the default, which
usually just works behind NAT routers; "set passive off" switches
back to active transfers.
Requirements
------------
- AmigaOS 2.0 or newer, 68020+ recommended
- A TCP/IP stack providing bsdsocket.library: Roadshow, AmiTCP,
Miami or equivalent. Tested on an A1200/68060 with Roadshow 1.15.
- No ixemul.library and no other runtime libraries beyond the
standard AmigaOS ones.
Installation
------------
Copy the archive contents to a directory of your choice and add it to
your path, e.g. "Copy ncftp-3.3.0-amigaos-m68k/#? SYS:Utilities/NcFTP
ALL". ncftpbatch has to stay in the same directory as ncftp so that
"bgstart" can find it.
The bookmark editor needs no preparation: if TERM is unset it picks
"amiga" itself. The terminal descriptions amiga, ansi, vt100, vt102
and xterm are compiled in, so no terminfo database is needed. You can
also call the editor from inside ncftp with "bookmarks" or "hosts".
Amiga specifics
---------------
- Configuration (bookmarks, prefs) is stored in ENVARC:ncftp/ so it
survives a reboot; log, history and trace files go to PROGDIR:logs/
(created automatically). The config path can be overridden with the
environment variable NCFTPDIR (e.g.
SetEnv NCFTPDIR "Work:ncftp-config").
- The background spooler works natively: "bgget"/"bgput" queue jobs,
"jobs" lists the queue and "bgstart" launches ncftpbatch
asynchronously via SystemTags() with NIL: I/O instead of fork().
- Paths are shown the Amiga way ("Work:Downloads"), and both
spellings are accepted as input; internally clib2 works Unix-style
(-lunix), where a leading "/" means the parent directory.
- Local wildcards work in both worlds: "put #?.lha" and "put *.lha"
do the same, likewise for "lrm", "lls" and for ncftpput. The
expansion is done by dos.library (MatchFirst), no shell involved.
- Local commands are built in: lls/ldir, lmkdir, lrename, lrm,
lrmdir and lpwd need no external programs. "lchmod" passes its
arguments to Protect (Amiga syntax, e.g. "lchmod file +w"), "lpage"
uses SYS:Utilities/More. "!" opens a Shell, "!<command>" runs a
single command.
- System-wide defaults, if you want any, live next to the program:
PROGDIR:ncftp.prefs_v3 and PROGDIR:ncftp.firewall are read before
the user configuration, the ".fixed" variants of both after it.
- The domain name is read from DEVS:Internet/name_resolution
(Roadshow format) rather than from a Unix resolv.conf.
- ncftpspooler, the standalone spool daemon, uses ENVARC:ncftp/spool
unless told otherwise with -q, i.e. the same queue ncftp fills.
Known limitations
-----------------
- File sizes are limited to 2 GB: clib2 has no 64-bit printf/scanf
conversions, so the port uses 32-bit sizes throughout (clib2's file
I/O is 32-bit anyway).
- Pipe transfers to external programs (tar mode) are disabled, as
there is no fork()/pipe().
- No alarm()/SIGALRM timeouts: a hung connection will not time out by
itself, use Ctrl-C to abort.
- There is no SIGPIPE on Amiga; broken connections surface as write
errors instead.
License
-------
Clarified Artistic License, see LICENSE.txt in the archive. NcFTP is
copyright Mike Gleason / NcFTP Software; the AmigaOS port changes are
distributed under the same terms.
|