VERSION HISTORY
===============


0.31    + implemented the STAT command to list directories over the control
          connection (used by pftp)
	+ added TLS suppport

--development version
---Wed Nov 14 16:14:37 CET 2001
        + Fixed size bugs some users were experiencing with big releases (>2 gig). 
          Sizes can now go up to 64 bit (18446744073709551616 bytes)
          This means you have to install the perl module Bit-Vector (it's bundled)

0.30.2  + added new install script
        + changed from make to cons build system
	+ converted some scripts for the new
	  script system
	+ added widescreen mode to use full 80 chars
        + reenabled optional directory completion
	+ added imdb announce for movies with url in nfo file
          new section option: announce_imdb yes|no
        + added automatic m3u generation for mp3 releases
          new section option: generate_m3u yes|no
        + added new command SITE FULLSPEED to disable the
	  speed limits on the current session (superuser only)
	+ disabled ip logging by default, use cons option
	  PARANOIA=no to reenable it

0.30.1  + added glftpd userbase import, 
        + read doc/glconv.txt for more information
        + some changes for admin gui (coming soon)
        + invisible users are shown now in site swho
        + added support for users homedir
        + huge internal changes
	+ added the embedded perl layer
	+ use of automake/autoconf

0.29.2  + fixed a crack in site adduser

0.29:   + added message system
        + much improved irc bot scripts
        + new right R_ALWAYS_LOGIN
        + SITE ADDIP accepts multiple ident@ip now
        + umasks moved from global to section config
        + added weekly alotment
        + fixed several bugs with the umasks
        + added new who-file variable W --> shows username@groupname
        + user credits in ftps are updated before every download
        + fixed the hidden problem in site who finally (i hope so)
        + added a new registry key "min_freemb" to setup a minimum 
          needed free diskspace
        + added SITE CHOWNR command for recursive chown
        + install script creates now a ~/.openftpdrc file which
          contains the path to the openftpd directory and can be
          used by script which are not called from openftpd directly


OpenFTPD 0.0 - 0.28
 
  The project was renamed to OpenFTPD because there are too much
  differences to the original FTP4ALL now and we did not wanted
  another 10 digit version number :)
 
  New features and changes:
  -------------------------
   + on site who, activity of users under hidden dirs will not be shown 
     to normal users
   + the little announce.tcl script for irc announcements is included
     in misc/sitebot now 
   + added support to mask spaces with ' ' or " " (used for site user
     change and site nuke)
   + new default message files for SITE WHO and added message files
     for SITE SWHO in the same way
   + unnuke.pl removed, nuke.pl accepts -u and -n flags now
   + traceroute files changed to binary. You need to del your old 
     etc/ip.allow and etc/ip.deny files !!!
   + added number of files up/down for day, week, month to user database
   + added daily upload/download stats
   + added time and name of an account creator to user database
   + added nuke stats. (files nuked, times nuked, credits and bytes);
   + new help system, now all the help goes in a dir called help/
     in individual files for example user, user.normal and user.privileged
     (to add help for addons you only need to drop the help file with the 
     name of your command in this directory)
   + to remove a group the group must be empty now
   + added to site user reset: day and nuke
   + binary stat files are in etc/stats now
   + hidden users are not listed in text stat files anymore
   + new variables for SITE WHO, %P with the current path of the users
     %p with the pid and %s with the speed (seperated from activity now)
   + variables %c, %d, %D, %p and %P are exported as integer now 
     (all values in bytes)
   + replaced infoline.sh with infoline.pl for better portability and 
     more features, shows section credits now
   + binary stat files are in "etc/stats" now
   + added UNDUPE and NUKE enviroment vars to run_program and run_prog_xt 
   + changed user/group base and f4adp version number too 100 to not collide
     with new official FTP4ALL versions
   + added parameter -l for SITE LUSER to list leech users 
   + log settings changed, the "log" key was replaced with an integer value
     named "loglevel" which accept the values: 0 = no logging, 1 = only
     security logging, 2 = normal mode, 3 = verbose
   + added on the fly checksum calculation for sfv checks
   + there is a recursive check for hidden directories now
   + SITE VERSION shows now some info about the OS

   + on SIGHUP the file log/who.log is dumped with information about the 
     currently logged in users with the format:
     <username> <groupname> <onlinetime> <activitytime> <bytes uploaded>
     <bytes downloaded> <activity> <speed> <path> <tagline> <ident@ip> 
     <pid>
     all fields are seperated by tabs.
     this features was requested by people who want to have a sitebot
     command which will post the current status to an irc channel
 
   + added internal dupechecker with CRC CHECK (!!!) which will allow you to
     have 2 different files with the same name on your site
     they keys "dupecheck" and "dupepath" were removed from registry
     and new keys are added to the section configuration

   + the quite dangerous SITE EXEC command is optional now
   + primeCHECK and my other perl scripts are now included in the 
     release

   + new variable for scripts: %f = free diskspace (real free space without
     the root reserve) in blocks (should be kb on most systems)
  
   + nolimit directory permission was replaced with RMDIR permission

   + you can limit the range of used ports now to better support firewalls
     and proxies
   
   + added message system
 
   + added new right R_ALWAYS_ALLOW to allow priviledged users to
     login even if site is closed without the need of giving them superuser
     status
     

  New SITE commands:
  ------------------
   + added SITE STATS to show user sections stats
   + added SITE SECTION to list and manipulate section stats
   + you can use SITE UNFO as alias SITE INFO now
   + added SITE GINFO command to change your group's infoline 
     (for groupops, siteops, superusers)
   + added SITE SETINFO / SETGINFO to change infolines of other 
     people / groups (if rights allow this)
   + added SITE ADDSITEOP and SITE ADDGROUPOP to grant siteop or
     groupop status and SITE DELSITEOP / DELGROUPOP to revoke them
     (unlike simply changing the user class, with these commands 
     the necessary rights are set too)
   + added SITE IPBANS to show and modify the traceroute ip bans
     (stored in the files etc/ip.allow and etc/ip.deny
   + added SITE WHOAMI for admins who work with multiple accounts and want
     to know what of them they are using currently
   + added RIGHTS=<hex value> to SITE USER CHANGE for setting the 
     rights directly by hex value. Useful to reset rights with
     SITE USER CHANGE <username> RIGHTS=0x0
   + changed syntax of SITE USER LIST and SITE GROUP LIST, there commands
     will now show always a list, to view single users / groups detailled
     use SITE USER SHOW <user> or SITE GROUP SHOW <group>
   + added color codes to some commands
   + the SITE DEL command changed, filename/directory is the only
     parameter now and no credits are removed, please use site nuke for
     punishment
   + added SITE GADDUSER for groupops which is mainly a smaller version
     of ADDUSER without the need to set groupname and limit
   + added SITE UPTIME to show the uptime of the ftpd

   + added SITE REQUEST and SITE FILLREQUEST (a request system)

   + added SITE MSG for the message system

  Fixes:
  ------
   + fixed a bug in "site addip", it now reports if all ip-ranges
     are full
   + fixed "site traffic" command, speeds were not good calculated
   + fixed SITE LGRP
   + fixed bugs in user change gid and user change id
   + fixed bug in ip+.
   + fixed broken download resume in cmd_retrieve (transfer.c) this
     problem only occured with freebsd servers 
   + fixed the update problem with session / bandwidth limit which
     never really worked before 
   + the "site delgrp" command requires that the group is empty before
     deleting
   + fixed SITE LUSER -c
   + normal users need now right R_USER_READ to see more than themselves
     when doing a "site user list" and hidden users are not shown
   + added a small delay in server_reply() which will maybe fix timing
     problems on some systems


  New variables:
  --------------
   + added new variables "max_logins" and "max_slots" for group database
     maxlogins is the maximum number of group members that are allowed 
     to log in at the same time, maxslots the max number of users the group
     can have (Format of etc/gstatfile is now name:gid:limit:credit:
     dl_speed:ul_speed:logins:info:max_logins:max_slots)

   + format of etc/statfile is now: 
      name:uid:gid:password:dl_total:ul_total:last_login:
      limit:info:class:credit:ul_week:dl_week:ul_month:
      dl_month:ul_speed:dl_speed:ul_tm_week:dl_tm_week:
      ul_tm_month:dl_tm_month:ul_tm_year:dl_tm_year:ul_tm_total:
      dl_tm_total:ul_day:dl_day:ul_tm_day:dl_tm_day:ul_f_day:
      dl_f_day:ul_f_total:dl_f_total:ul_f_week:dl_f_week:
      ul_f_month:dl_f_month:ul_f_year:dl_f_year:creation_time:
      creator:f_nuked_total:b_nuked_total:c_nuked_total:
      t_nuked_total:f_nuked_day:b_nuked_day:c_nuked_day:
      t_nuked_day:f_nuked_week:b_nuked_week:c_nuked_week:
      t_nuked_week:f_nuked_month:b_nuked_month:c_nuked_month:
      t_nuked_month:f_nuked_year:b_nuked_year:c_nuked_year:
      t_nuked_year:ip0:ip1....:gid1:gid2....

   + Sections keys have now default values in case they are not defined
     in the config files. 

   + Current section config keys are:
      { "calc_checksum"                    , D_BOOL , "no"           },
      { "del_empty_nuke"                   , D_BOOL , "no"           },
      { "different_credit"                 , D_BOOL , "no"           },
      { "download_limit"                   , D_INT  , "-1"           },
      { "empty_nuke"                       , D_INT  , "25"           },
      { "no_global_stats"                  , D_BOOL , "no"           },
      { "nukeprefix"                       , D_CHAR , "_NUKED_"      },
      { "show_dirstat"                     , D_BOOL , "yes"          },
      { "upload_limit"                     , D_INT  , "-1"           },

     - calc_checksum is switch to toggle the on the fly calculation of
       crc32 (sfv) checksums
     - up/down limit is like ftpd handles ratios so 33 means size * 100 / 33
       a value of -1 means use user limit.
     - no_global_stats means that files up/down to this section will not be
       added to the user stats, only to the sections one.
     - empty_nuke is the amount of credits to remove on empty nukes (in MB)
     

   + stats txt files now have the format: 
      name:info:groupname:groupinfo:
      dl_f_day:dl_day:dl_tm_day:ul_f_day:ul_day:ul_tm_day:
      dl_f_week:dl_week:dl_tm_week:ul_f_week:ul_week:ul_tm_week:
      dl_f_month:dl_month:dl_tm_month:ul_f_month:ul_month:ul_tm_month:
      dl_f_year:dl_year:dl_tm_year:ul_f_year:ul_year:ul_tm_year:
      dl_f_total:dl_total:dl_tm_total:ul_f_total:ul_total:ul_tm_total

   + a new registry key "showinfo" (showinfo yes/no) was added to toggle if you
     want to see the user/group info after you changed anything on this object
   + new section keys: different_credit, upload_limit, download_limit and 
     no_global_stats
   + added new registry variable "showdefaultsection" to toggle if you want to 
     see the default section in SITE STATS
   + new registry keys "siteop_rights" and "groupop_rights" to define the 
     default rights for siteops / groupops which is used by SITE ADDSITEOP /
     SITE ADDGROUPOP

   + added new environment variables: $F4A_INFO, $F4A_SECCFG for user
     taglines and the path to the current sections configuration file

   + added new registry key "min_freemb" to setup a minimum free diskspace
     that is needed to allow uploads
 
===============================================================================

- Version 3.012.006 (xx/Aug/2000 by primemover)
 + added section support (new source file ftpd/sections.c) (buba)
   new configfiles etc/sections.cfg, etc/sections/default.cfg
 + added seperated section stats
 + added new f4adp command DSF (dump stat files)
 + removed the useless internal top10 stats and replaced the 
   whole stat routines (sorting is done by external script
   now)
 + user info may contain spaces now
 + added internal directory stat on chdir, no need to use the
   external program from primetools anymore, (this will allow
   you to encrypt the user file)
 + new key for section configs "show_dirstat no" to disable
   directory stats for this section (enabled by default)
 + added new manual file "doc/sections.txt"
 + maximum and minimum values in config_s are int64 now

- Version 3.012.005 (22/Jul/2000 by primemover)
 + fixed another little bug in the functions to change rights
 + added total transfer speeds for site who 
   new variables for msg/who_tail %W[%f]U, %W[%f]D and %W[%f]S
 + added some important bugfixes (including a fix for buffer
   overruns on infolines) by buba
 + nuke.c changed, new message files msg/nuke msg/unnuke (buba)
 + full path is not needed anymore in cfg and msg files
   files without / are searched in the bin/ directory now
 + fixed problem with rmdir by normal users and hidden files
 + $F4A_R_NUKE and $F4A_R_UNDUPE are set in shells started from 
   message files (with %#!filename) too now
 + broken dupecheck works again
 + the %s filename arguments for msg/upload and msg/download
   are masked in " " now and support filenames with spaces
 + Nukescript creates statusdir "Nuked_?x_by_???_(???)" now 
   again

- Version 3.012.004 (XX/Jul/2000 by primemover)
 + fixed a bug in in the functions to change the rights
 + started an updated user manual in "doc/", but only 1 file yet :)
 + MAJOR CHANGE: new configuration file for site commands
   "etc/customcmd.cfg" this will fully replace the shortcuts in the
   registry. The scripts must be still placed in bin/ but they 
   don't need to have the same name as the site command anymore.
 + You now can hide (configuration) files with the new registry 
   key "hiddenfiles". (set multiple files seperated by spaces) 
   The keys "filledfile", "checksumfile" and "dircfgfile" are 
   obsolete now
 + Changed output of SITE LUSER, maximum number or logins and
   secondary groups are now shown too
 + added Buba's directory dupe patch which is working exactly like
   the file dupe, new config file "etc/checkdirdupe.cfg"
 + added seperated timeout setting for superusers, new registry key 
   is "timeoutroot" (default timeout is after 30 min)
 + infoline script can handle dirs with spaces now
 + install script has now a simple binary-update-only feature
 + fixed a security bug in site adduser with wrong secondary groups
 + added a new user right R_UNDUPE and the commands ADDUNDUPER and
   DELUNDUPER to switch it easily, the setting is exported for scripts
   to the environment variable F4A_R_UNDUPE with the values 
   "yes" or "no"
 + the nuke right is exported to environment variable F4A_R_NUKE

- Version 3.012.003 (04/Jun/2000 by primemover)
 + New commands added: UNNUKE, ADDNUKER, DELNUKER
 + Added a new user right R_NUKE
 + Transfer speed is now the 3rd argument for filecheck script
 + A script called from msg/mkdir will get the full path as parameter
   and not only the filename
 + Added two new invisible files, .dircfg (configurable in registry with
   key "dircfgfile") and .filled (key "filledfile") like .readme to do 
   some configuration stuff with addons like uploadcheckers, mainly done 
   for primeCHECK.
 + Changed some output format stuff and fixed some bugs in slammars 
   functions
 + Configure scripts asks for maximum filelength now
 + New default asciis for site who
 + Added some more settings to default ftpd.reg
 + Added a default statusline (msg/list and bin/statusline.sh)
 + Binaries are now in standard/sbin (bin/ directory was removed)
 + Added and changed slammars functions to view and edit user rights
 + added the fxp proof ip ban patch (needed for some ppl who have to 
   disable usa transfers) NEW REGISTRY KEY: "reject_hops <host1> <host2>"
   set this to banned ip's or hostnames that are not allowed in the 
   traceroute to the destination host! 
   Don't use "*" leave wildcards blank instead!  
   New files: "etc/ip.allow" and "etc/ip.deny" to store already checked 
   destination ips and avoid multiple traceroute checks
 + Included an idiotproof installscript to setup FTP4ALL in 1 min
 + SITE RIGHTS can be used without parameter now (shows current users
   rights then)

- Version 3.012.001 (xx/Jun/2000 by primemover)
 + New commands added: GIVE, TAKE, NUKE (you can disable/enable the give
   command with the registry key "site_give yes|no"
 + added some patches by slammar with a lot ofnew commands like
   LGRP, LUSER, CHGRP, ADDGRP, DELGRP, ADDIP, DELIP, USERS, RIGHTS,
   TRAFFIC, 
 + added slammars group / user log patch   
 + START OF PRIMEMOVERS UNOFFICIAL VERSION

==============================================================================

- Version 3.012 (04/Mar/2000 by Crescent)
 +Bugfix: groupop was able to edit all users like siteop (Buba)
 +On timeout session gets freed immediately, not waiting additional timeout
  period (Crescent)
 +Reason of failed transfers now get logged in ftpd.log (Crescent)
 +New registry setting "passivemode off" disables passive mode, useful if
  FTP server is behind a firewall that blocks connect attempts (Crescent)
 +New registry setting "setgid <gid>" sets group id of ftp? processes to
  <gid>. Files uploaded to server get group id <gid>. Useful if process owner
  is in multiple groups (Crescent)
 +New registry setting "setuid <uid>" sets user id of ftp? processes to
  <uid>. Files uploaded to server get user id <uid>. Useful if server wants
  to bind to ports < 1024 but later run as an unprivileged user (Crescent)
 +All logfiles are now line buffered (Crescent)

- Version 3.011 (06/Feb/2000 by Crescent)
 +Removed infinite wait in connect() and accept() operations when doing file
  transfers or directory listings. Could cause hanging sessions. Timeout now
  hardcoded to 30 seconds. (Crescent)
 +Bugfix: Logins with 9-char-length-usernames and !-logins (kicklogin) are now
  not blocked anymore. (update, Crescent)
 +Bugfix: Changed BINARY transfers to NOT use streams, for better performance
  (Crescent)
 +Updated Java GUI and f4adp for new "group umask" feature (Crescent)

- Version 3.010 (02/Feb/2000 by SenfGurke)
 +Superuser can now see hidden-directories. (ms)
 +Introducing "umaskgroup". Now the groups can have their own umasks.
  Set it with "site group change <groupname> umask=<umask>". This group-
  usermask overrides just the umaskuser, not umaskanon or umaskroot. (ms)
  Developers: the output format of "GRP_LS" therefore changed. And "site
  group list" is updated. After the update, the groupfile is not backwards-
  compatible anymore.
 +Bugfix: Setting configuration and message files over F4AGUI (Crescent)
 +USER LIST <username> now shows min/max speeds and user info (Crescent)
 +Changed directory listings to use streams, for better performance (Crescent)
 +Changed BINARY transfers to NOT use streams, for better performance (Crescent)
 +Included symlink-resolver when changing working directory,
  registry entry: resolvesymlinks on/off (Buba, Crescent)
 +Broken uploads can be deleted (default) or left on server,
  registry entry: nukebrokenuploads on/off (Crescent)
 +Bugfix: Possible buffer overflow in user information field when modifying
  user over F4AGUI (Crescent)
 +Bugfix: changed 'CC == ""' to 'CC = ""' in configure script
 +Bugfix: Logins with 9-char-length-usernames and !-logins (kicklogin) are now
  not blocked anymore. (SenfGurke)
 +Changed format of diffall.sh output. (SenfGurke)
 +When using mkdir-msg and filenameconversion now the converted name is given
  to the msg. (SenfGurke)
 +Fastlogins can now be done using the username with a leading $-sign, then
  the welcome-msg is suppressed. (SenfGurke)

- Version 3.009 (09/Jan/2000)
 +When restoring the superuser, the disabled-flag gets cleared too.
 +Fixed the bug, that anonusers got logged out immediately when giving
  no password (and fixed with that an error logging those logins,
  the anon-passwd's are shown in the log).
 +Fixed the configure-script to detect Sun Workshop C compiler.
  FTP4ALL compiles on Solaris (Sparc v8 and v9 architectures) using the
  Sun Workshop C compiler (must be installed in /opt/SUNWspro). (Crescent)
 +allows user stats changing for MBUP= MBDOWN= WKUP= WKDOWN= MUP= MDOWN=
  YUP= YDOWN= instead of just += and -= as well as speed changing KBSUP=
  KBSDOWN= KBSWKUP= KBSWKDOWN= KBSMUP= KBSMDOWN= KBSYUP= KBSYDOWN=
  (in kb/s). (top-ace)
 +When sending of action (UDP) fails, retry up to 10 times (Crescent)
 +Fixed a bug that caused syntax error on "USR_RST credit" (Crescent)
 +Handed out bandwidth gets returned on logout; bug possibly consumed
  bandwith which would never be returned (Crescent)

- Version 3.008 (06/Dec/1999 by Crescent)
 +Bugfix: rename of directories works
 +Bugfix: 0-byte upload bug (no need to replace transfer.c any more)
 +Bugfix: when statistics are reset, top ten list is invalidated (sometimes
  prevented login after week or month stats have been written and you had
  to restart the server)
 +Check for C-library compatibility in configure script

- Version 3.007 (17/Oct/1999 by Crescent)
 +Top Ten Variables (%T) extended to show week/month/year/total list:
  %T{0-9}[m|t|w|y]{d|e|l|u}{a|n|i|m}
         ^^^^^^^^^
  If you leave out [m|t|w|y], then the total list is shown. (Crescent)
 +Removed a daemon-crash, when an anonymous user logs in without giving
  a password. (Senfgurke)
 +Fixed a bug in user-remove. (Buba)
 +Fixed a bug in memory-allocation. (Buba)
 +Fixed login-kick. Login-kick sends now SIGTERM, causing the signalled
  processes to terminate immediately. Calling process is not killed. (Based
  on idea by Buba) (Crescent)
 +FTP message output functions in ftps (send_message_exp and send_reply_exp)
  must be given a flag to control variable and color expansion:
  expand-flag & 1 => expand variables
  expand-flag & 2 => expand color
  The old functions (send_message and send_reply) remain for compatibility.
  The expand-flag in these funtions is hardcoded to 3 (which means expand
  both variables and color). (Crescent)
 +Turned off variable and color expansion in SITE REG commands
  (was superfluous and caused garbled output). (Crescent)

- Version 3.006 (05/Oct/1999 by Senfgurke)
 +when doing "configure debug" the ftp4all-debug-file is created as
  well.
 +as groupop/superuser you can now set the password of users with
  "site usr change <username> passwd=<string>" or clear it without
  the <string>.
 +fixed a bug when a unauthorized user want to list the groups.
 +fixed the broken environment-variables from v3.005.
 +site reconfig removed. Useless due to registry-system.
 +Serious bug in credits system removed (user got 16gb credits).
 +top-list is now available in the welcome-msg too.

- Version 3.005 (17/Sep/1999 by Crescent)
 + modified configure script to detect sparcv9 architecture
 + modified code to compile under sparcv9 architecture
 + replaced fdopen(sock,"r+t") with fdopen(sock,"rt") + fdopen(sock,"wt")
   in ftpd.c and ftps.c (because r+t did not work on solaris 7, this was
   the reason that socketpair() did not work... now it works)
 + PASV rewritten: removed DNS lookup, now gets local ip address from
   connected client socket
 + fixed a bug in f4adp_admin: when a non-superuser registers a watcher
   he could see the current user activity even it was a hidden activity
 + fixed a bug when using the "%c" variable.
 + External checker and dupe checker wildcards are now case-insensitive
 + Fixed bug when valued > 767 MB got displayed as GB
 + No permission files get created in cdpath any more
 + Fixed bug when USER ADD set gid -1
 + %l displays ratio as 1:n if possible
 + Fixed bug when SIGPIPE errors shows in ftpd.err when rejected_ip applied
 + 'SITE PASSWD -' or 'SITE PASSWD user -' clears password

- Version 3.004 (28/Aug/1999)
[Additional Features]
 +added: site user change MBUP/MBDOWN +|- (total)
                          WKUP/WKDOWN +|- (week)
                          MUP/MDOWN   +|- (month)
                          YUP/YDOWN   +|- (year) (Slammar).
 +added: statfile now writes ip's as well as all the other info the userfile
  should contain. (Slammar)
 +added: gstatfile (group-file in ascii). Set in the registry "gstatfile
  path/to/script" and it writes this file together with the user-statfile when
  you send SIGUSR2 to your daemon. (Slammar)
 +Introduced the env-var "F4A_STD" containing the "standard/" directory-
  location of ftp4all, to make scripts more flexible. (senfgurke)

[Bugfixes]
 +fix allows someone with an ident@ip to login if ident-checking is turned
  off. (CR)
 +fix for IP+ bug that always gives IP-Range full. (Slammar)
 +fix for site user remove <user> when user not in userbase now the ftpd
  doesn't crash (crescent)
 +Fixed the pre_upload/pre_download bug. (senfgurke)

- Version 3.003 (19/Aug/1999)
 +Fix whan upload checker failed because file was not closed
 +Check for libresolv in configure script
 +Removed -O from Makefiles when compiling with debug
 +Changed year from 2 to 4-digits in all logfiles
 +Changed Makefile in cfg subdir, to first create object files

- Version 3.002 (16/Aug/1999 by Crescent)
 +watcher daemon support: daemon forks new ftpd as soon as it crashes (-w)
 +APPE command added (resume broken uploads, similar to STOR)
 +communication with children changed to 100% non-blocking mode in ftpd
  (daemon now never stalls)
 +connections to admin port now get handled by ftpa (ftpd forks off ftpa,
  purposes: non-blocking ident lookup; terminate particular admin session;
  admin sessions appear in monitor)
 +new registry entries: reject and bouncertimeout

- Version 3.001 (11/Jul/1999 by Crescent)
 +numerous bugfixes
 +bandwidth limit works for upload and download (well tested)
 +added and tested bouncer support for rftp-bouncer and bnc4all
  supports not multiple bouncers in registry entry "bouncer", e.g.
  "bouncer 129.4.5.6 128.7.6.5 109.33.44.55"
 +ident lookup moved from ftpd to ftps (for non-bouncer mode)
 +added alternative socketpair() support (instead of pipe() for ftpd<->ftps)
  advantage: only 1 file descriptor is needed for a connection instead of 2,
  this means f4a can handle 1000 simultaneous sessions instead of 500
  (assuming a limit of 1024 file descriptors per process)
 +added command line options for: version, help, foreground, superuser
  (debug: "strace ftpd -f" lets you trace all system calls of ftpd !!!)
 +new variable %v prints version
 +hidden directories (chmod d+h)
 +DES support re-added

- Version 3.000 (Crescent)
 +configuration files: etc/*.cfg with f4adp commands for administration
 +finished GUI: f4a now 100% configurable with GUI
 +development platform is now: suse linux 6.1 (glibc2.1) on intel pentium
  (was: slackware 3.x libc5.x on intel pentium)
 +all open files get closed on exec() (debug: try "lsof -p <pid>" and see !!!)
 +log/ftps.err takes now log messages from ftps, log/ftpd.err only log
  messages from ftpd
 +error log messages from ftpd get broadcasted to GUIs
 +fixed GUI problem with too small input fields: replaced powersoft layout
  manager by java gridbag layout manager.
 +updated documentation
 +added some debug facilities
 +bandwidth limit works for download only !! (and even there not much tested)
 +changed f4adp log commands. merged client activity commands in log commands
  ftps now sends always a full line of log information, terminated by \n
  the method to begin sending log info and the doing some other stuff (like
  transferring a file) and then finishing log info has now been completely
  removed, to prevent problems with ftpd receiving this info and possibly
  blocking when reading until \n.
 +The whole DES thing needs to be tested !!!

- Version 2.100.4 (Crescent)
 +configuration file (ftpd.conf) replaced by registry (ftpd.reg)
 +default registry in standard/etc with only 3 entries !
  (quick start: modify entries, start server & use GUI to configure)
 +GUI support for registry modification, port change, server state change,
  messages (user/group/default) and other config files
 +Java GUI now can configure WHOLE SERVER (no need to use FTP or to
  edit config files from shell)
 +group, user & registry saved regulary upon modification:
  group & registry files every 2 minutes (hardcoded)
  user file every 15 minutes (hardcoded)
 +limits configuration file: set max users and bandwith depending on
  day of week and time of day

- Version 2.100.3
 +site commands can now be logged. just add the "site" to the log-
  line in ftpd.conf.
 +when user-ip-stack is full and the op wants to add one with IP+
  the server now responses.

- Version 2.100.2
 +Even more bugfixes.
 +New Env-Var "F4A_APASS" for the "passwords" of the anon-users.

- Version 2.100.1
 +Bugfixes, more to come

- Version 2.100 (by Crescent, Released March/1999)
- see doc/index.html for details
 + New permission system
 + More statistics
 + 64 bit version
 + GUI and monitor support
 + standard directory tree
 + FTP messages now in files only
 + group defaults

