Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

612 lines (467 sloc) 21.515 kb
New in 1.1.3
* Applied several patches from Debian.
* Fix segfault on ' <TAB>'.
* Replace some custom autoconf checks with macros from autoconf-archive.
* Fix Kerberos 5 detection and make yafc buildable again if Kerberos 5 is
* Add a bash completion.
* Implement ignore masks for the put command.
New in 1.1.2
* Applied several patches from Debian
* Applied patch by Lionel Landwerlin (dj_death) to fix wrong strcpy usage
* Added large file support
* Applied patches from Gentoo (kerberos related build fixes)
New in 1.1.1
* Applied patch by Norihiko Murase for ls -t (timestamp) fix
* Double fclose() segfault fix
* autoconf herror include fix
* Modified code to use strtoul / strtoull
* Changed getpass hook to use new code (fixes ctrl+c password local echo bug)
* Updated TODO
* Confirmed remaining bugs as fixed or non-issues
* Added KNOWN_ISSUES file
New in 1.1
* Applied patch by Mark Schreiber that checks for errno.h in
* Less picky
* sysconfdir setting from configure honored (thanks to Toru TAKAMIZU)
* alternative SSH port now accepted (thanks Henk Csaba)
* Applied patch from Eduard Bloch that adds a setting for user
configurable SSH options
* Uses standard SI prefixes for binary multiples (KiB, MiB, GiB) in
transfer progress
* Fixed bug when pressing Ctrl-D in user input (ask), reported by Robin Breathe
* Applied patch by Thomas Habets, fixing a file descriptor leak
* Fixed the "-s" parameter for the "fxp" command (patch by Julien Antille)
* Included the large file support patch by Eduard Block
* Applied patch from Eduard Block that improved the help command
* Applied patch from Martin Pitt that fixes the errno.h problem in makepath.c
New in 1.0
* bumped version to 1.0 (at last!)
* applied patch from John Fremlin that adds an option to disable the
dots (...) while waiting for directory download when completing
* compare filesize & -date if file already exists (suggested by Steve Grecni)
* added cache timeout feature (suggested by Cameron W Johnston)
* made sftp:// an alias to ssh:// (suggested by Marcel Prisi)
* put --append didn't work in ssh mode, fixed
* fxp now uses other connection as default target (if there are
exactly two open connections) (suggested by Phyber)
* fixed get/put/fxp/rm on directories with apostrophes and other chars
that need to be quoted (reported by Morra)
* bookmark -u (w/o host) now also updates the saved bookmarks file
* added option auto_bookmark_update: specifies handling of updating
existing bookmarks (suggested by Aleksander Adamowski)
* the ltag command now ignores multiples just as tag does
* only tries to parse MLSD if MLSD command given
* directory listing can now partly fail (if not all lines failed, yafc
will show the files that it could parse),
* support for iso date and time format in unix directory listing
* added option --skip-empty to get/put/fxp (skips empty files)
* added config option transfer_first_mask (transfers specified files
before other files)
* fixed bug in ssh put: --resume truncated file (reported by Eduard Bloch)
* upgraded to latest autoconf/automake
* new autoconf checks for Kerberos based on code from the Arla project
* now check for Kerberos by default
New in 0.7.10
* fixed segfault in list.c
New in 0.7.9
* Changed get -o function; if the argument ends with a slash it is
always considered a directory, if only one file is transferred and the
destination already exists and is a directory the file is put in that
directory (thanks David Harris)
* the "long command" setting now also applies to connection attempts (thanks Aubin Paul)
* put, rm, untag, cat and ltag functions now handles quoted characters
correctly (thanks to Mark Schreiber)
* fixed segfault with bookmarks without login (thanks Markus Dobel)
New in 0.7.8
* Fixed segfault when issuing "bookmark -u" without being connected.
* Went around issue in PureFTPd when listing files using
MLSD. PureFTPd doesn't recognize directory arguments with spaces.
New in 0.7.7
* Applied patch from Decklin Foster, fixing segfault on connecting with a
'default' statement in config file (reported by Ari Pollak)
New in 0.7.6
* Replaced yafc.spec from Ryan Weaver with one by Mandrake (untested!)
* applied patch from Eduardo Pérez, now yafc by default doesn't send
email address as anonymous password
* fixed bug with mkdir/rmdir in wrong directory in ssh mode
* 'yafc ssh://hostname -u' now asks for username
* fixed wrong number of days per month
* removed -o options to ssh when connecting in ssh mode
* added bookmark option 'noupdate' and bookmark -u option (toggles force
disable auto update of bookmark)
New in 0.7.5
* fixed reconnection loop (reported by Johan Renström)
* put didn't transfer .dotdirectories (reported by Alan Hagge)
* get -a (append) wasn't recognized (reported by Decklin Foster)
New in 0.7.4
* Fixed segfault in DOS directory listings (thanks Cort Tompkins)
* Fixed alias %-expansion off-by-one bug, %1 is now the first arg (thanks Jens Askengren)
* Fixed parse error in some weird directory listings (thanks Matthew Gabeler-Lee)
New in 0.7.3
* Fixed segfault when doing a 'alias l', where l is an ambiguous alias (thanks Ari Pollak)
New in 0.7.2
* Applied patch from Mark Screiber, fixing 'yafc -a unresolvablehost' bug
* Fixed bug with binary transfers being in ascii mode after reconnect
* Support for MLSD directory listings
* removed 'help cmd', use 'cmd --help' instead
* removed filesize and flush commands
New in 0.7.1
* removed bignum functions from src/ftp/bufaux.[ch] (depended on openssl)
* added checks for data types
* added per-url sftp setting (specifies path to remote sftp-server program)
* new option to open: --sftp=PATH to remote sftp-server program
* added check for pipe/socketpair in
* fixed sorting bug in 'ls' introduced in version 0.7
New in 0.7
* Applied patch from Tim Mooney, adding support for MIT Kerberos 5
* Added support for readline 4.2
* Automatic reconnection if connection timed out
* new option: autoreconnect true/false
* new command: reopen
* SSH2 support (incorporated code from sftp/OpenSSH)
try "open ssh://username@host"
* new option: ssh_program (path to local ssh program)
* new option: sftp_server_program (path to remote sftp-server program)
* now stores protocol in bookmarks file
* updates bookmarks if protocol changed (eg, from "ftp" to "ssh")
* ls now always sorts on name (if no other sort method is specified)
* 'ls -r' now works (lists in reversed name order)
* 'ls .' now works
* new option: reverse_dns, do reverse DNS lookups? (thanks Ari Pollak)
* cleanups for old readline 2.0
* removed gettext support (not used anyway)
* defaults to passive mode
* new default transfer_string
* transfers are now verbose by default (use --quiet to turn off progress bar)
New in 0.6.6
* fixed site command (didn't recognize args correctly) (thanks Clemens Ender)
* fixed connect retry bug in login.c (thanks Matthew Gabeler-Lee)
* fixed compile error when not using readline (thanks Jason Lunz)
* "ls ./" didn't get cache hit
New in 0.6.5
* changed default value for auto_bookmark to yes
* added option --type={ascii|binary} to cat
* forgot a fflush() in cat (cat didn't work on binary files) (thanks Decklin)
* fixed broken alias zpage in yafcrc.sample + added (b)zcat alias
* removed arguments to site command (thanks to Robert Hahn)
* 'get/put onefile -o othername' instead of 'get/put onefile -o otherdir'
confused? look in the manual... (thanks to Skyper Sorg)
* use_passive_mode in config file was ignored (thanks to Ari Pollak)
* new option: transfer_xterm_string (thanks to Ari Pollak)
* removed swedish po-file (I don't have time to maintain it)
* check for circular include statements in config file
* bookmarks are now always kept in ~/.yafc/bookmarks
* cleanups; moved small generic funcs to utils.c
* even more manual updates
* protlevel is now updated in bookmarks
New in 0.6.4
* removed lib/setproctitle.[ch] due to licensing problems (thanks Decklin)
* moved src/bashline.[ch] to lib/
* updated manpage
* more manual updates
* zcat removed (use 'cat | zcat' or 'cat | bunzip2 -c')
New in 0.6.3
* removed nokrb option in bookmarks
* added option --mechanism=MECH to open command (and removed --krb/--nokrb)
* always using private protlevel in kauth
* fix for DOS style paths (w/backslashes)
* some manual updates
* added per-url passive mode setting in bookmarks
* added per-url mechanism setting in bookmarks
New in 0.6.2
* sets nokrb option if AUTH unknown
* added bookmark --delete
* implemented luntag
* fixed bug in local taglist saving/loading
* fixed alias bug (segfault)
* DOS LIST-output directory filename bug fixed
* DOS LIST-output y2k issue fixed (now assumes 21th century if YY < 70)
New in 0.6.1
* bug in recursive put fixed (didn't create directories correctly)
New in 0.6
* fixed long-standing kerberos problems (now also supports NAT)
* cleanups
* --mask=GLOB and --rx-mask=REGEXP options (get, put and fxp)
(transfers only files matching a pattern, useful in recursion)
* --dir-mask=GLOB and --dir-rx-mask=REGEXP options (get, put and fxp)
(enters only directories matching a pattern, useful in recursion)
* auto bookmarking doesn't overwrite bookmarks w/different hosts
but creates different versions
* Kerberos 5 support (Heimdal, through GSSAPI)
* FxP support (not thouroughly tested)
New in 0.5.8
* fixed segfault when listing unreadable directories
* #ifdef'd setproctitle calls
New in 0.5.7
* endless loop in rc.c fixed
* abbreviation for set-variables
* bug in DOS directory listing with filenames w/spaces
* removed C++-style comments in strq.c
* swapped order of -lreadline and -l{terminal lib} in
* removed --help option for cd command
* added a man page (Thanks to Decklin Foster)
* tag didn't ignore multiple copies of same filename
* better remote tilde path handling (ls ~ didn't work)
* added option --workdir=DIR for setting the working directory (default ~/.yafc)
New in 0.5.6
* added --help option for untag
* added *.md5 to ascii_transfer_mask
* now parses system-wide /etc/yafcrc on startup
+ doesn't create default ~/.yafc/yafcrc on first run
* rglob.c: didn't update directory cache properly
* segfault in get/put if connection timed out
* tag now ignores multiple copies of same filename
* removed the visual tag interface (it didn't work anyway)
* bookmark multiples are always replaced (instead of skipped)
* rfile.c: files in root directory had two slashes (//file instead of /file)
* transfer was aborted after suspend
New in 0.5.5
* only first alias in a multiple command command line was expanded
* fixed bug in switch command, arguments were ignored
* cat now supports wildcards
New in 0.5.4
* support for MacOS WebStar ftp server
* fixed the rels alias error from 0.5.3
New in 0.5.3
* info manual updates
* rc.c: empty string (ie "") in config file caused errors
* completion.c: completion breaks at ';'
* cache --touch now has optional directory argument(s)
* error in alias expansion parameters (%1,%*) when used
with an alias including several commands
* yafcrc.sample: error in rels alias
* fixed buffer overflow in ftp reply
New in 0.5.2
* Applied patch from Ryan Weaver for rpm spec file
* configure script unsets CDPATH variable
* info manual updates
New in 0.5.1
* yafc "resets" the xterm title to $TERM on exit/suspend
* get --preserve now also on directories
* get --preserve handles suid/sgid/sticky bits
* tried to fix problems with DOS-paths
* new option --clear to tag and ltag command
* local taglist is also saved
* yafcrc.sample: proxy hosts should be separated with colon (':')
* configure creates a yafc.spec file for rpm building (thanks to Ryan Weaver)
New in 0.5.0
* awful bug in redirection code fixed
* EPLF support (Easily Parsed LIST Format)
* quoting fixes
* made (mostly) all commands accept --help option
New in 0.4.9 (released 1999-11-08)
* proxy support! untested, please report if you test it
* url accepts option --no-encoding
* ftpsend.c (ftp_list): fixed bug that caused yafc to hang on ls
* fixed bug in lib/glob.yafc.h, didn't compile on Tru64 Unix
* error in get --newer: didn't correctly compare filetimes in GMT
New in 0.4.8 (released 1999-10-14)
* xterm title is now printed immediately when yafc is continued
after a suspend
* updated Texinfo manual a little
* removed the man page
* user is asked if to continue interrupted transfer even
if -f flag is given
* more verbose report in nohup mail
* src/ removed tag.h, not used
* saves taglist on disconnect + loads on connect
* new option: load_taglist yes/no/ask
* changed default answer in get/put if file already exists to [R]esume
* same syntax for defining aliases on command line as in yafcrc
* made the tag command accept options; --info and --list
+ removed taglist and taginfo commands
* made the cache command accept options;
ie, 'cache clear' -> 'cache --clear', try 'cache --help'
* added taglist completion for untag command
* removed -al parameter to LIST command for ls
New in 0.4.7 (released 1999-09-12)
* support for dos-style directory listings
* trace files now works with multiple connections
* applied patch from Leonid Zeitlin <>
this fixes (color) escape codes in transfer_string by
enclosing them in %{ and %} pairs like the prompts
* option 'prompt_on_disconnect' in yafcrc removed (not used)
* fixed segfault in completion for the 'switch' command
* local filename completion for '!' command
New in 0.4.6 (released 1999-08-03)
* visual (remote) tagging interface using newt library
this is experimental, tell me if you like it!
it is activated by the 'tag' command, without arguments
* Yafc can now have multiple connections open
use the new 'switch' command to switch between them
(no, you can't fxp files between them, yet)
* new prompt codes: %c (number of open connections) and
%C (current connection number)
* started adding documentation in Texinfo format
* added yafcrc options:
xterm_title[123]: set title of xterm window
xterm_title_terms: $TERM's which can handle xterm escape sequences
* applied patch from Mike Wayne <> adding -w, --wait=TIME
cmdline option to yafc (overrides connect_wait_time option in yafcrc)
* list.c: added sorting on time (-t option) to ls
* new command: url (shows the current url)
* new command: source (reads a config file)
* removed the 'lcat' command (use alias lcat !cat instead)
* removed the 'page' command (use alias page "cat %* | $PAGER" instead)
* removed the 'zpage' command (use alias zpage "zcat %* | $PAGER" instead)
* removed the 'pager' keyword from yafcrc since it's no longer used
* rc.c: bookmark alias abbreviation bug fixed
* commands.c: (z)cat now always transfers files in binary mode
* commands.c: zcat now handles bzip2 compressed files
* command.c: fixed %-parameters to aliases; redirections are not replaced
* alias.c: fixed problem with alias to ! (eg, alias date !date didn't work)
* completion.c: fixed segfault if trying remote completion when not loggedin
* put.c: changed short option from -S to -R (--resume) to be consistent with get
* put.c: added [r]esume to ask-string if file already exists
* open now recognizes --noalias as it should
* shortpath.c: fixed a bug (yeah, no kidding)
* rc.c: didn't recognize 'sendmail_path' and 'debug' keywords in yafcrc
New in 0.4.5
* added special alias parameters; %1,%2,...,%n and %* which is replaced
with the nth argument to the alias, %* replaces all alias arguments
* new option in yafcrc: use_env_string
* multiple commands can now be entered at the command line, separated with ';'
* new option to open, --noalias, which disables bookmark alias lookup,
the --noauto option disables autologin but allows bookmark aliases
* new option to get, --chmod=PERM, which changes permissions on local files
same arguments as to GNU chmod(1) command
* new option go get, --chgrp=GROUP, changes group of transferred files
* new options to user, --nokrb and --krb, same as in open
* sort in ls (-X, -U, -S, -r, --reverse options to ls)
* new option to ls, --dirs-first, shows directories first
* fiddled a lot with quoting and completion code,
included quotion functions from bash
* rfile.c: segfault if server didn't send group info (like ls -o or ls -lG)
* login.c: user --help fixed
* yafc should now compile on FreeBSD (tested on i386 3.1-RELEASE)
* now always builds with GNU glob
put crashed on FreeBSD because the wrong glob.h header file was included
* rc.c: 'verbose on' in yafcrc didn't work
* put.c: printed 'get' instead of 'put' in env. string
* transfer.c: visual progress bar filled screen with #'s on very large files
* ftp.c (ftp_rename): didn't update directory cache
New in 0.4.4
* input.c: online help in ask() (appends a '?' char to the keystring)
* more checks for libresolv and libnsl
* changed -r switch for ls to -R (--recursive) like /bin/ls
* 'ls -l --color' now tries to colorize any links found
* applied patch from Mike Wayne <>, adding option tilde in yafcrc
* the quote command now doesn't require to be loggedin
* bookmark.c: fixed bug in saving password
* login.c: didn't connect if connect_attempts was set to 0 (zero)
* can now set connect_attempts to -1 for unlimited number of retries
New in 0.4.3
* tab completion should work on symlinks now
* ls now recognizes screen width
* allows redirection characters anywhere in the command line
* auto_bookmark now updates the bookmark if changed
* added bookmark tab completion
* added option in yafcrc: auto_bookmark_silent
* bookmarks can now be abbreviated
* added -N, --literal option for ls
* added -p, --preserve option for put (tries to preserve attributes)
* Mike Wayne <> contributed a perl script to convert NcFTP's
bookmarks into yafc bookmarks.
* ftp.c: forgot to close a filedescriptor
* syshdr.h: #include <locale.h>
* rglob.c: didn't unquote spaces
* rlutil.c: replaced char_is_quoted() function with the one from bash source
completion should work better with double- or single-quoted filenames
* commands.c: arguments to '!' and 'shell' are now unquoted by the shell
* get.c, put.c: didn't expand tilde for --output argument
New in 0.4.2
* added an auto_bookmark option to the rcfile
disabled by default, use 'auto_bookmark yes/no/ask' to turn it on
* nlist command now recognizes arguments
* lscolors.c: changed default color settings to be consistent with GNU ls
bugs fixed:
* ftp.c (ftp_read_directory): cached path not always absolute
* get.c, put.c: removed --test option (wasn't properly implemented anyway)
* redir.c: segfault on "!" command (thanks Jason Gibson <>)
* main.c: --noauto option to yafc wasn't recognized
* rc.c: ignored multiple spaces in a row (thanks Mike Wayne <>)
* transfer.c: transfer strings should print ok now (I think)
* bookmark.c: stupid typo, never asked whether to save password or not
* bookmark.c: bookmark --list implemented
* shortpath.c: null pointer removed (thanks Christophe Tardy <>)
* get.c: improved handling of links (ie, less buggy :)
* get.c: oops, forgot to print '-d, --no-dereference' in syntax
(copies symbolic links as symbolic links)
* put.c: 'put *' now puts _all_ files, including .dotfiles
* prompt.c: segfault if %u, %~ etc given in prompt1 and prompt2
* ftpsend.c (ftp_putfile): swapped remote/local filename printed
so %R in transfer_string actually means _source_ file and %L _target_ file
* ltag.c: local tagging rewritten
* transfer.c: didn't print total size if ascii transfer
* args.c (args_unquote): removes zero-length args
* lscolors.c: fixed segfault in init_colors
New in 0.4.1 (first announcement on
* I hope the code now has stabilized (no total rewrites anymore :-)
* redir.c: added '>>', '|&', '>&' and '>>&' type redirection
* doc/yafc.1: updated (still incomplete)
* ftp/rfile.c (rfile_parse): handles special devices
* commands.c, ftp.c: help command now recognizes argument
* bookmark.c: didn't always save directory
* commands.c (cmd_chmod): better verbosity
* ftp.c (ftp_set_trace): changed buffering of tracefile to unbuffered
* rglob.c (rglob_glob): faking file if no wildcards and dir not cached
* get.c: --preserve now changes timestamp (as it should)
New in 0.4.0
* total rewrite since 0.3.4
* back to C again :-)
* added trace functionality
* ctrl-c handling
* better ABOR handling
* URL parsing now handles directories better (the url-path)
(the "/" between the host (or port) and the url-path is NOT part of the
url-path, no encoding of special characters are done though)
* yafc can send mail to the user when a nohupped transfer is finished
* if SIGHUP received, continues transfers in background, nohupped
* much more...
Jump to Line
Something went wrong with that request. Please try again.