View Single Post
Old 04-17-2008, 12:16 AM  
Too much time...
Join Date: May 2005
Posts: 1,194

v6.4.0 Release Notes:

*** File Modifications:

1) File system\ioFTPD.exe changed. Version

2) File system\ioFTPD.pdb changed.

3) File system\tcl84t.dll and system\tcl84t.pdb changed.

4) File system\ioFTPD.ini changed (Out_Ports, NoFxpOut, NoFxpIn added).

5) FILES: text\ftp\[AllUp,AllDn,MonthUp,MonthDn,WkUp,WkDn,DayUp,DayDn].Footer

*** New Features:

6) New ioFTPD.ini option (Out_Ports under Devices like [Any]) : This option
   allows you to control which ports the server uses for outgoing connections.
   If Out_Ports is undefined that means use the old default of Port-1 for the
   service initiating the connection.  However to avoid "Connection closed:
   Only one usage of each socket address (protocol/network address/port) is
   normally permitted" errors caused by the receiving server or FTP client
   not having a large enough port range you can specify additional local
   ports to use.  An Out_Ports of 0 means use any port which for almost all
   cases eliminates the problem and is the new prefered settings unless you
   have a router/gateway that needs you to limit the outgoing port range.

7) It is now possible to view and/or modify the Default.User and Default.Group
   settings from within ioFTPD.  Simply refer to them as /Default.User or
   /Default.Group in any "site change" command, or "site chgrp" to change
   the default groups for new users.  Currently the only thing you can't set
   are IPs for the Default.User although if there is a need this can be
   added.  To view the current defaults use "site uinfo /Default.User" or
   "site ginfo /Default.Group".

8) New site change command (site change <who> nonleech <ratio> [<section>]).
   This command is very similar to site change ratio except it will only
   change the ratio of users who don't have leech on the section already.
   This turns out to be really useful if you used to use 1:3 but now want
   to go to 1:4 or something and using "site change * ratio 4" would force
   everyone to 1:4 but you probably didn't want siteops, etc to be modified.
   Modification of the Default.User or Default.Group setting requires the M

9) New ioFTPD.ini options (NoFxpIn, NoFxpOut under [VFS]).  You can now
   specify file paths to deny FXP to/from along with regular permissions
   expressions to specify matching users.  Thus "NoFxpOut /MP3/* 3" would
   make all 3 flag users unable to FXP out from the /MP3 section while
   allowing everyone else like siteops who presumably don't have the 3 flag.
   The actual test is performed only after the connection is established
   because only then is it possible to determine whether the transfer is an
   FXP or not...  You can still deny a user any FXP no matter what these
   settings are via the user flags 'f' and 'F' which take precedance.

10) New "site stat" options (NoZeros and Zeros).  When NoZeros is specified
    entries that have a 0 in the sorted field will no long be shown.  You can
    specify the Zeros option to get the current style of output that includes
    0 fields.  NOTE: The new style of NoZeros might become the default
    behavior in the future hence the need for the Zero option which is
    currently useless.

11) New "site stat" feature (summations).  The requested type of stat
    (AllUp, AllDn, MonthUp, MonthDn, WkUp, WkDn, DayUp, or DayDn) now has
    a summation counter available for bytes, files, and time that can be
    accessed in the associated .Footer file.  The %[pos] cookie will be set
    to the total number of userfiles that matched in the Footer as well.

12) New "site stat" feature (count 0).  Specifying a count of 0 previously
    would imply the default of the top 10 matches, but it now means don't
    show any matches at all which is useful when you're just interested in
    viewing the total via the new summation feature.

    Some site stat examples assuming the default text/* files.
    NOTE: day stats reset at midnight UTC, weeks at the start of whatever day
          you defined as WeeklyReset in ioFTPD.ini, months at the start of
          whatever day you defined as MonthlyReset in ioFTPD.ini.
    NOTE: Section 0, Byte order, Week Up, and top 10 are the defaults.
    site stats monthdn
      -- shows the monthly download statistics for the top 10 downloaders by
         bytes for the current month along with the total of all downloaders.
    site stats section 1 monthdn
      -- shows the monthly download statistics in section 1 for the top 10
         downloaders for the current month in section 1 and the total of
         all downloads in section 1.
    site stats count -1 wkup nozeros
      -- shows the weekly upload statistics for everybody who uploaded at
         least one byte in the current week along with the totals.
    site stats alldn limit ".1 .G" count 0
      -- show just the total of all the downloads for users with the 1 and/or
         G flags.
    site stats monthdn files limit ".3 !=GroupA" count -1 nozeros
      -- show the monthly download statistics for all users who downloaded at
         least 1 file who have the 3 flag but are not in GroupA along with
         the monthly totals.

13) New site command (site ioverify [fix]).  This command will walk through
    the in memory user and group tables and examine all users and groups
    and report any inconsistencies found.  This command requires the M flag.
    If the [fix] argument is supplied it will correct the number of users
    in a group if it differs from the number actually discovered.  Useful
    for deleting a group whose user count is wrong since a group without
    users but a user count greater than 0 cannot be deleted.
    Command is untested with the shared db modules loaded, but should work.

14) New limited startup error reporting!  When ioFTPD is not being run as a
    service the server will now pop up an error message indicating why it
    failed to start.  Except for not being able to read/find the config file
    and a few other critical errors the information isn't very detailed yet.
    It will report which of the 30 or so modules caused the failure though
    and this is much more than we had before!

*** Functionality changes:

15) Added code to IdDataBase_Init to report and reject duplicate id/names,
    create a log entry in the SysOp log to report user/groups which are
    deleted by a module during initialization (presumably someone deleted
    a user/group in a shared database so the id is no longer valid), and
    report unparsable lines to the error log.

16) Added code to the generic field parser used by Ascii2GroupFile and
    Ascii2UserFile to report lines that couldn't be parsed to the error log.
    Unfortunately the Ascii2* functions are exported and hence can't take
    extra arguments, and to make things worse the ioFTPD calls are from
    functions that don't know the group/user id or name so extra arguments
    to a duplicate function aren't possible without lots of changes.
    Therefore these errors will be relatively useless for pinpointing the
    problem since you'll get the line but nothing else!  However seeing
    errors in the logfile is an indication a script or something is
    having problems.

17) NOOPs no longer update the last action field of the client data
    structure if an active transfer is in progress, but does reset the
    associated idle timer.  This idle timer is used in swho and external
    scripts as a record of when the last input from the client was received.
    It is not the new internal idle timer used to determine when to kick a
    user according to the idle rules.  The end result of this is that when
    transfering a large file the last action will displayed for a user will
    not be a NOOP sent as a keep-alive but the actual transfer command
    itself.  By keeping the NOOPs being recorded when no transfer is in
    progress there should be no impact on external idle kick scripts.
Yil is offline   Reply With Quote