NFTP development progress

This page displays news on NFTP development.

Beta versions can be downloaded (when available) from

11 Mar 2003
Issued version 1.72 beta 2.
10 Mar 2003
Wrote automated program for creating/recording/sending license files in new format. Can import ShareIt orders.
9 Mar 2003
Downloading when subdirectories contain marked files/directories now works more consistently: user is notified that these marked items will be transferred, not item under selector.
5 Mar 2003
F5 now acts as 'Copy' key. It handles both download and upload. Changed Transfer submenu according this: removed Download, Download everything, Upload; added Copy.
3 Mar 2003
File selector now jumps less on its own. MDTM is only issued once per file. New menu item: review list of files selected on remote site. When uploading changed remote directories are discarded from NFTP local cache. Fix: wrong directory was refreshed when restarting while uploading. New transfer routines are now switched on by default.
28 Feb 2003
Worked on new transfer routines. Uploading directories now works too but needs polishing. Directories can now be in the list for transfer which simplifies complex transfers a bit. Criteria for mirroring/transferring are now identical therefore mirroring does not select files for transfer which will be later skipped anyway. Added a parameter to nftp.ini to switch on/off use of MDTM. Message "Changing directory" no longer appears during transfer.
11 Feb 2003
Issued beta 1 of version 1.72. Worked on new transfer routines (downloading seems to work fine).
6 Feb 2003
Imported new transfer routines from unfinished v2.0. They are switched off by default and can be activated in nftp.ini. Worked on proper recursive deleting of files/directories on remote with dialogs similar to deleting of local files/directories.
5 Feb 2003
Empty directories are properly handled by mirroring in both directions.
4 Feb 2003
Fixed license verification routines (sometimes verification failed). Empty remote directories are now present in local mirror. When mirroring in interactive mode a warning dialog is issued, list of files to delete is presented for review and a confirmation is requested for deletion. When mirroring in noninteractive mode deletion does not happen and log message is produced when percentage of the files/directories that would be deleted is greater than 10% (configurable). Empty unmatched directories on local disk are now properly deleted when mirroring. MDTM is not used when mirroring.
31 Jan 2003
Fixed transfer restart. setproctitle() is now used under FreeBSD and Linux. NFTP now uses MDTM to get exact file modification times before downloading. License file format has been loosened.
29 Jan 2003
Fixed 'large file backup' feature; it will now only backup files before overwriting when a) they are large than 100MB and b) backups are on (default). Reworked timestamp processing. Fixed file handle leak when transferring.

20 October 2002: version 1.71 has been released

30 June 2002: version 1.70 has been released
04 May 2002
Chinese version has been revived by Jacky Yang.
08 Feb 2002
Fixed bug when mirroring by download could delete local files instead of preserving them. Backups are no longer created when mirroring. Extremely large files (over 100MB) are always backed up in noninteractive mode and a question is asked on overwrite when in interactive mode. New nftp.ini parameter to control this threshold (100MB): backup-threshold.
07 Feb 2002
Added support for Microsoft ISA 2000 proxy (Internet Security and Acceleration server).
24 Jan 2002
Updated Windows version to 1.64.b2 because b1 had problems with uploading in Win32 version.
21 Jan 2002
Version 1.64.b1.

8 September 2001: version 1.63 has been released
8 Aug 2001
Added an option to disable creation of backups when overwriting file while downloading. Fixed: Unix version would crash if current local directory was deleted and NFTP tried to reread it.
7 Feb 2001
There were several minor fixes (NFTP no longer leaves 0-length files when script download has failed; etc.) and one major: NFTP now handles correctly sizes over 2GB. Version 1.63.b3 has been released.
17 October 2000
Version 1.63 beta 1 is released. Included are some fixes since 1.62, nonblocking connect in Win32 version and Slovak translation. No Linux SPARC version yet as my IPX needs reinstalling.
8 June 2000
I am mostly working on version 2.0. There are lots of major internal changes, getting rid of old cruft etc. It is too early to say what version 2.0 will include (and what it will not).

21 May 2000: version 1.62 has been released
9 May 2000
Fix: files with zero length weren't downloadable with b3. When Unix version is suspended, mouse is turned off.
20 April 2000
Czech translation has arrived.
6 April 2000
Numeric IP addresses are now accepted as valid proxy names (firewall-host).
30 March 2000
Some date/time related fixes (NFTP would incorrectly assume previous year when date is in the near future). Redesign of FTPSearch routines. Added automatic cyrillic charset translation for file descriptions and viewed files.
27 March 2000
Added Apache proxy support.
14 March 2000
Added support for usernames, passwords and nonstandard ports in FTP Search (useful for :-)
12 March 2000
Fixed: usernames with slash are now allowed in the bookmarks. Added reread and lreread commands to scripting.
5 March 2000
Cleaning history has been greatly sped up: 400 sites, 5000 directories now take only 0.4 sec on 400MHz cacheless Celeron. More fixes for FTP Search routines.
4 march 2000
Added two config options: disable directory re-read question and disable logoff question. Added two script variables, "mirror.delete-unmatched" and "mirror.include-subdirs". Made 1.62.b3.
28 February 2000
NFTP now recognizes Windows 2000 server (
24 February 2000
Worked on OS/390 support. Fixed problem with directory caching and changing access rights.
22 February 2000
Fixed a bug in ftpsearch routines; the search is now much more reliable.
19 February 2000
Worked on some OS/390 fixes. OS/2 X11 versions will be now packaged separately to reduce the size of the distribution. OS/2 VIO version has icon.
8 February 2000
Fixed: direct change into directory did not work with HTTP proxies. Support for Inktomi Traffic Server proxy. Fix for selection bar positioning when changing directories. 1.62.b2 has been released.
6 February 2000
Fixed: HTTP proxies did not work in 1.62.b1. ElGamal authentication works. Time to dump RSA?
5 February 2000
Worked on ElGamal encryption for PKFA (using Eric Young's bignumber library from OpenSSL). Released 1.62.b1.
3 February 2000
Attribute transfer seems to work OK.
2 February 2000
Worked on attribute transfer support and licensing stuff.
1 February 2000
Worked on OS/390 support and new licensing scheme. Finally it works fast and is relatively small.
26-28 January 2000
Worked on OS/390 server support. Unix manpage target directory is now /usr/local/man/man1, not /usr/man/man1.
24 January 2000
Fixed socket handle leak on connection failures. Fixed: NFTP would sometimes delete incomplete files (when connection attempts fail several times in a row).
22-23 January 2000
Deleting local nonempty directories. Fixed: some broken servers were reporting trailing slash in PWD response, and it was being recorded in the history. Changing file permissions on remote.
21 January 2000
Added: NFTP can delete entire local directories with everything inside (needs work).
20 January 2000
Fixed: win32 version should no longer mess pathnames and drive letters.
16 January 2000
Fixed: when working through HTTP proxy, ".." were not discarded from paths. Fixed: user password is no longer displayed when working through HTTP proxy.

12 January 2000: version 1.61 has been released
11 January 2000
Fixed: Windows version would automatically change window size to 25 rows when 300-row window is detected under NT/2000 (300 lines is the default for Win2000). Made patch for BSD ftpd to support PKFA.
10 January 2000
Fixed: beta 2 would not accept previous keyphrase in the passwords file.
9 January 2000
Added support for Novell servers (thanks to Working & thinking on bfs attribute transfer support.
3 January 2000
Released 1.61 beta 2. Another fix for crash when TMP/TEMP point to nonexisting directory.
27 December 1999
Fixed: NFTP would display empty panel if local directory is unreadable.
26 December 1999
Worked on PKFA improvements. Flushing HTTP cache now works. NFTP now disables keepalive connections to HTTP proxies (was causing delays on download). When NOOP gets 425 (inactivity disconnect) NFTP does another NOOP. NFTP would no longer consume CPU time when pausing between retries in disconnected mode (Unix).
23 December 1999
More fixed for time/date handling routines (SITE UTIME now works correctly with ncftpd).
21 December 1999
More fixes for time/date handling routines. Fixes for mirroring.
20 December 1999
Experimental support for IBM VM servers. Preparing for 1.61 release. Yet another fix for time/date handling routines (nothing to do with Y2K).
18-19 December 1999
Added preliminary support for new FTP extensions (MLST and such; see draft-ietf-ftpext-mlst-09.txt). Options for changing User-Agent in http proxy support, flushing http cache at each request.
16 December 1999
PKFA support (using RSA) seems to be mostly complete. Many fixes for Squid support (authorization, uploading).
13 December 1999
Worked on adaptation of ElGamal code for licensing stuff and PKFA. Fixed: links are now displayed as "<LNK>" in single-panel view. Uploaded beta 1.
9 December 1999
Built 1.61 beta 1.
8 December 1999
It has been a while since last update of this log... NFTP now closes CC when you press R during transfer. Fixed: http proxy support, some crashes related to password editing. When transferring single file, the dialog box now appears asking for overwrite/resume/cancel (as in previous versions). New licensing stuff (won't appear in 1.61). There were also other minor developments and bugfixes I cannot exactly recall of.
3 November 1999
Fixes for reconnection routines. Fixed: aborted viewing would no longer corrupt displayed file size.
2 November 1999
NFTP now remembers local directory when default download path isn't set in nftp.ini.
31 October 1999
Option 'Lowercase names' is now off by default. Added experimental support for RSA authentication to NFTP and wu-ftpd.
29 October 1999
More scripting enhancements: delete and ldelete now accept wildcards. Fixed: NFTP would crash if TMPDIR/TEMP/TMP environment variable points to invalid directory.
28 October 1999
Fixed: possible display glitch while editing entry field. Added: mget/mput and mirroring to scripting interface. Fixed: Unix X11 versions no longer linked to libtermcap (not needed). Fixed: X11 versions would ignore CapsLock. Played with WarpIN alpha 4 and found it not yet suitable for general use. My scripts for WarpIN are basically ready now though :-)
27 October 1999
Fixed: win32 version would crash when file with date 01-01-70 is encountered on remote server.

22 October 1999: version 1.60 has been released
18 October 1999
When download fails because NFTP could not open local file it would now try again with name conforming to 8.3 (OS/2 only; for FAT partitions under OS/2). NFTP will backup local files it is going to overwrite. X11 version now has WM_CLASS. Added "binary" and "ascii" commands to scripting language.
17 October 1999
Fixed another glitch in the progress indicator. Added firewall of type 6. Will no longer stuck when given nonexisting directory on the command line. Built beta 9.
14 October 1999
Reworked date/time parsing routines. Fixed crash when creating new bookmark folder.
13 October 1999
Fixed: garbage would sometimes appear in some entry fields when entering keyphrase and when exporting list of marked files. Added: control connection history is now left-right scrollable. Fixed: NFTP would no longer report that connection is successful when it actually has failed. Fixed: when given URL with nonexisting directory, it will no longer stuck.
7 October 1999
On leave until 13 October.
4 October 1999
Fixed: NFTP would always assume encryption method 2 on OS/2, Windows, BeOS, ignoring value specified in nftp.ini.
2 October 1999
Fixed upload bug. Fixed another bug in passive mode (did not work on big-endian machines). Released beta 8.
1 October 1999
Password encryption method now defaults to 2 on single-user systems and to 0 on Unixes. Was going to build beta 8 but discovered that passive mode does not work, and automatic upload restart does not work too, so I'll have to postpone next beta a little (until Sunday?). Fixed problem with passive mode.
28 September 1999
Added hash algorithm to password encrypting; method 3 seems to be OK now.
27 September 1999
Fixed: transfer indicator went astray when doing restart. Fixed: NFTP was attempting to reconnect even after 5xx response to PASS.
26 September 1999
Reorganization of transfer routines for cleanups and logic streamlining. Finally: upload restart! Fixed: NFTP will no longer delete skipped files. Fixed bug in ARDP implementation which could cause a crash in FTP Search. Needed: sending bitmap of received packets.
25 September 1999
Fixed minor memory leak in ftpsearch. Ftpsearch: results are now stored in the file which is persistent across sessions; changed progress indicator to something looking more reasonable. Fixed: with full frames on, mouse clicking was off one line. Added option to change keyphrase used to encrypt passwords.
20 September 1999
Returned from week long trip to Florence. Fixed: dates/times of files would display incorrectly.
29 August 1999
Fixes for upload routines: will not trash files on slow links, will retry if data connection breaks during upload. Still needed: restarting uploads, fix transfer indicator figures when restarting.
28 August 1999
Fixed: NFTP would not recognize OpenVMS server on Alpha (
26 August 1999
Fixed: beta 7 could crash when opening bookmark window. Fixed some broken messages in NLS files.
25 August 1999
Beta 7, with the following improvements:
-- fixes (a lot of)
-- new scheme for password caching. see [passwords] section in nftp.ini. How it works: when you do successful login, NFTP will write host/userid/ password into the file nftp.psw (doing encryption if specified). When you login into site again, NFTP checks that file and if the host/userid combination is present, it will pick password from it. Passwords in bookmarks and history are completely eliminated, including corresponding options. If you have enabled passwords in history/bookmarks, NFTP 1.60.b7+ on first read will put these password into the nftp.psw file using scrambling (scheme 2), as in .bmk/.hst files. The passwords will be removed from bookmark/history files! To get your passwords back, you'll have to enable password caching in nftp.ini. Sorry for inconvenience. WARNING: method 3 could change in the future to new, incompatible scheme! Make sure you have backup of your nftp.psw file
-- mirroring (see Transfer->Mirror submenu). Was not tested much. Limitations: will ignore timestamps when uploading; completely ignores symlinks
-- function to export list of marked files
-- upload still broken with slow links :-( did not have time to touch it
-- updated icon set on OS/2
-- indexfile parsing procedure is now much faster
-- fixes for CPU load in X11 versions
8 August 1999
NFTP will always retry when 4xx code is received on PASS command (even if login is not anonymous). Worked on icons. Fixed reported bugs.
20 July 1999
Built 1.60 beta 6.
27 July 1999
Revised code for nonblocking accept(). Should really work now on FreeBSD.
25 July 1999
Fixed bug which was causing crash when bookmark file held over 64 folders. Reworked transfer statistics routines.
22 July 1999
Built AIX 4 RS/6000 version.
19 July 1999
Spent last days rewriting transfer engine for cleaner, better code. Added support for preserving permissions and timestamps on download/upload. Added support for Netscape Suitespot Proxy server. Directory sizes are now displayed in the split view. Fixed problems with viewing/editing remote file when true size is different from reported (http proxies round the size to the next kb!). Added support for authentication with http proxies.
9 July 1999
"Resolve symlinks" option in menu. Option to skip question on whether to walk directory tree or not. Improved transfer progress indicator.
26 June 1999
Made new progress indicator. Option to pause transfer. Rearrangements in the menuing routines. Error message when local disk is full. Added option to use PUT instead of STOR on OS/400 servers. Built beta 5 of 1.60.
20 June 1999
It's been quite quiet lately here... Things I forgot to post: 1) SPARC Linux version is now online! 2) Fixed a bug when transfer progress indicator was updated too fast causing high CPU load (thanks to Samuel Audet). 3) implemented interruptable connect()/accept(). 4) working on better transfer progress indicator (the old one is way too ugly).
8 June 1999
Received my Sparcstation IPX yesterday. Hope to have SPARC Linux version fairly soon. Made NFTP HTTP/1.1-compliant.
1 June 1999
Fixed: nftp.ini option for wget launch string was incorrectly named (should be `launch-wget', not `launch_wget'). Fixed: Unix versions now ignore Ctrl-Y (suspend), Ctrl-S (stop input), Ctrl-Q (continue input). Passive mode is now set in the "Options" submenu, so you can switch it on/off on-the-fly. Fixed: passive mode was broken in latest betas.
27 May 1999
Been fairly busy lately with my recently purchased room. Added upload through Squid 2.x. Some other tweaks concerning http proxies.
23 May 1999
Beta 4 is released.
09 May 1999
Fixed: NFTP OS/2 VIO version would not run without PM. Worked on Win32 GUI version.
8 May 1999
Fixed problem with URLs with %XX hex codes. Added percentage to the main transfer progress screen.
7 May 1999
Added some capabilities to scripting (logging, error exit).
5 May 1999
Received BeOS Genki beta 5 CD. Some enhancements for scripting. Fixed some rather stupid things in NLS files (no more '[-]' thingies).
3 May 1999
Wrote new scripting system. Still primitive but much more powerful than previous one. Hack for specifying filename on the command line instead of path (NFTP tries to download filespec if cannot change to it).
30 April 1999
Fixed glitch: NFTP would leave socket in listening state after establishing data connection. It is harmless because NFTP does not try to accept connections from it but closes it after transfer instead of just when data connection is accepted. Also fixed: Win32 console version would consume 100% of CPU time while idle; NT seems to have problems recovering from screensaver (!! what a joke) with it.
24-25 April 1999
Poked around Win32 quasi-GUI version. Basics seem to work; needed: keys, proper resize, charsets :-(, optimizing screen output, fonts. New option in nftp.ini to use textmode dialogs in GUI versions.
16 April 1999
Worked on two-panel layout. Put 1.60 beta 2 yesterday. Fixed bug when data timeout was not always detected.
15 April 1999
Minor tweaks and improvements of new two-panel layout. More fiddling with unified building/packaging scheme.

12 April 1999: version 1.53 has been released
12 April 1999
I have decided to scrap 1.52 and release fixed version as 1.53. It differs very little from 1.52; only aforementioned bug has been fixed and Hungarian translation was updated.
11 April 1999
Show/hide timestamps (Ctrl-T) in file listings. Option to hide dates as well. Dialog box shadows (configurable). Full/partial frames in two-panel view. Played with different schemes of automatic distribution building.
Guys, I don't know why 1.5x releases have such bad luck. After uploading 1.52, I've got an email with bug report from Turbo Alberta who pointed out that NFTP parses some site's listings incorrectly. And 'incorrectly parsed site' appeared to be Hobbes! (so far I was unable to find any other site which also runs that ancient version of wuftpd). The bug crept in when I fixed NFTP to work with files whose names start with space. Don't know what to do...

10 April 1999: version 1.52 has been released
10 April 1999
Added preliminary version of two-panel (as in Norton Commander) view (activated with Ctrl-W). Changed dialog box colour to white background. Changed help background colour to white. Fixed some minor problems with cursor positioning when navigating directories.
8 April 1999
Fixed: spaces in "action=keyname,keyname" pairs are accepted now in nftp.ini. Pointer in the bookmarks returns to previous place when opening them for second time. 'auto-fetch-descriptions' has been removed from nftp.ini as obsolete. Installed RedHat 5.2 to be able to produce glibc2-based binaries.
6 April 1999
Fixed bug: NFTP would leave temporary files (they'll get deleted after one week).

4 April 1999: version 1.51 has been released
3 April 1999
Fixed bug in Unix versions which could result in interrupted or broken uploads when NFTP is suspended with Ctrl-Z.
2 April 1999
Fixed: NFTP would not return to file view after doing download-by-name. NFTP will now put file/directory name into entry field after pressing Shift-G.
25 March 1999
New feature: at the end of the transfer not only simple bell can be played, but also arbitrary command can be run (e.g., "play file=d:\mmos2\sounds\applaude.wav" (OS/2) or "echo dowload complete | /bin/mail `whoami`" (Unix)). Thanks Fernando Cassia for suggestion.
20 March 1999
Language can be selected from the dialog after using -l command-line switch. No more zombies of NFTP/PM when closed from Window List. '%' in the command file deletes URL.
19 March 1999
Fixed: directories/files starting with space were not treated properly. Cursor works in X11 Korean version.
14 March 1999
Some fixes; beta 3. Solaris Intel, FreeBSD and Linux Alpha versions should appear tomorrow.
12 March 1999
Added command-line switch -l language to select language.
07-08 March 1999
Worked on X11 version. Added support for Korean in X11 version.
06 March 1999
Worked on some improvements in PM and X11 versions.
27 February 1999
Worked on X11 driver and Squid support. Made patch for Squid to display file sizes in bytes instead of kilobytes. Squid 2.x is now supported.
21 February 1999
Lots of improvements for Squid proxies. Firewall/proxy can now be switched on the fly (support in the menu for on/off switches). NFTP will do DNS resolution again if history entry is more than 1 day old.
20 February 1999
Added rudimentary support for HTTP (Squid) proxies. Works but needs numerous improvements. Fixed problem with NFTP crashing when long lines are pasted into entry fields.
19 February 1999
Removed limitation on number of lines in the control connection history. An option to display timestamps in the connection history.
14 February 1999
Fixed: NFTP/PM would crash when minimized or resized to very small window. Better placement of information on transfer progress indicator with small window size.
13 February 1999
Fixed: flag 'f' (inside the firewall) did not work at all. Rewrote code which parses nftp.ini (replaced old ugly stuff with small and shiny new code from scratch).
12 February 1999
Thinking about some change in the licensing terms. NFTP will let you download files of any size, but display 10 sec reminder before you login to site. In other words, unregistered version becomes fully functional, just a little annoying to work with.
10 February 1999
Linux Alpha version is available, thanks to Sungwook Lee.

6 February 1999: version 1.50 has been released

NFTP home page // Send comment