ioFTPD General New releases, comments, questions regarding the latest version of ioFTPD. |
04-30-2007, 03:25 AM
|
#1
|
Too much time...
FlashFXP Beta Tester ioFTPD Administrator
Join Date: May 2005
Posts: 1,194
|
ioFTPD v6.1.0 Beta Released
Good news! ioFTPD can now be run as a real service! CPSV for FXP is available! Support for a semi-stealth mode (Microsoft broke real stealth for anything less than a network driver/firewall application) allows the server to act dumb and just drop the connection without printing anything if the IP/host isn't recognized as belonging to any user. Crc32 support for scripters! Fixed the No_SubDir_Sizing option! Plus lots of other new features and fixes.
With this release the majority of features people have requested have all been added. There are still a few things to do (like maybe builtin zip support for itcl scripters) and I have a few ideas like download counters for files that show up in directory listings, and mandatory requirements for host/ip masks (i.e. must supply 2 or 3 octets), but the majority of stuff is done. It's bug hunt mode now.
Now for the bad news! I haven't tested this release very well so I tagged this one as a Beta. Please grab it and try all the new stuff and report back anything you notice not working right.
Latest Version:
ioFTPD-v6.1.4.zip
Worse news! From the random crashes in v6.0.x that some people are seeing there might be some memory corruption taking place. I haven't really looked for it yet. But that's going to be the priority now. For those of you who want to help I've also packaged up the source for this release. I'm not sure but it might be compilable with VS2005 Express C++ compiler that MS gives away free to everyone. If so let me know. I'm using the full VS2005 release so I know that works.
ioFTPD-v6.1.0-Src.zip
Last edited by Yil; 05-08-2007 at 05:22 PM.
Reason: New Version
|
|
|
04-30-2007, 03:26 AM
|
#2
|
Too much time...
FlashFXP Beta Tester ioFTPD Administrator
Join Date: May 2005
Posts: 1,194
|
Changelog
Code:
v6.1.0 Release Notes
1) Changed the file layout for releases. Instead of /ioFTPD/ioFPTD,etc
everything is now just under /ioFTPD. This shouldn't effect anything
if you have been using relative paths.
2) ioFTPD-Start used to link to a small batch file that started ioFTPD
and then after a delay started ioGUI. The link was necessary to specify
that the batch file should create the console window minimized to avoid
seeing it during login. All of this has been replaced with a simple
application that does the same thing. This removes the problem of updating
the link's location if not installed in c:\ioFTPD and totally hides the
console window instead of just minimizing it.
3) Added new executable (ServiceInstaller.exe) and documentation file
(ServiceInstaller-README.txt). *** PLEASE READ THE README FILE!!! ***
Click ServiceInstaller.exe and it will ask if you want to install ioFTPD
as a service. If you run it again you will be prompted if you want to
remove the installed service. By default it runs under the Local System
account which is what most services run as, but I found using your regular
user account makes more sense and is required if you wish to access
network shares since granting network access to system accounts like Local
System is a bad idea. More info about default options can be found in
ServiceInstaller-README.txt which also explains some issues to keep an
eye out for.
4) New ioFTPD.ini option (Compute_CRC). Set this to false if you don't have
an onUploadComplete event or the script/executable you are using ignores
the value computed by ioFTPD. Default is True.
5) The CRC32 value passed to OnUploadComplete is now 0 if Compute_CRC is
False or it's the CRC32 value for the entire file. Previously the CRC
was only for the resumed portion of the upload which made no sense. I did
find a way to merge CRC32 values for a file so it only does the work once
which I think is cool. OnUploadError now always returns 0 for the CRC32
value.
6) New iTCL command (crc32):
crc32 filename [startPos] [length] [crcValue]
startPos: file position to begin computation at (defaults to 0)
length : number of bytes to process (defaults to filesize - startPos)
crcValue: value to begin crc32 computation with (defaults to 0)
Thus [crc32 file] will return the crc32 checksum for the indicated file.
7) Added Support for the CPSV command. This allows you to send a single
file via TLS/SSL using client mode which is necessary in some cases for
FXP SSL. Alternative to using SSCN protocol which turns on this
behavior for all files being transfered until turned off.
8) Changed .ioFTPD parsing to better handle invalid files. Previously the
server would crash in some cases with badly formed and/or incomplete files.
9) Fixed directory listings not updating properly if No_SubDir_Sizing was
enabled.
10) Changed CreateUser() to check for an existing user of the same name
before trying to create a new user. This should fix "site adduser"
returning "500 user-name: Module ownership conflict." and instead return
the far more appropriate "500 user-name: User already exists." error.
11) Changed "site adduser". Currently if you have permission to access
the command (by default users with G1M flags) and you have been given
groupadmin rights to specific groups via
SITE CHANGE user-name ADMINGROUP GroupA
the first group listed in the admingroups list is the one new users will
be created in by default. If you have no admin rights to any groups
(i.e. ioFTPD) the command used to create the user in the NoGroup group,
however this is clearly the wrong behavior for a user with just the +G
flag since they should not be able to create users who are not in their
group and not subject to the group's slot limits.
Now users with just the +G flag (i.e. no 1M flags) and no specific
admingroups configured will not be able to create users and will get
the error:
500 adduser: No group admin rights found.
Users the +1 or +M flags without any admingroups defined will act as
before and create users in the NoGroup group.
12) New super cookie ( $[AdminGroups(index)] ).
13) Modified text/ftp/UserInfo to show AdminGroups now that it's important
to see which group is listed first.
NOTE: group names are case sensitive, and "site change user admingroup"
adds/removes groups from the list in a toggle like fashion. If a
group is already there is it removed, it not it is added. Thus ordering
the list to get a particular group first can be a bit tricky for long
lists.
14) Whenever a connection is rejected because the IP has been auto-banned for
too many reconnections an entry is now recorded in Error.log.
15) New ioFTPD.ini option (Reject_Unknown_Ips). Set this to True to
automatically disconnect connections before sending the FTP Welcome
message for hosts who do not match any user's IP/Host mask. An entry
in Error.log is also made with the rejected IP/host.
16) New site command (site findip). This will return users who match a
specific IP address or hostname along with the hostmask that matched.
Thus "site findip 127.0.0.1" might return something like:
ioFTPD: 127.0.0.1
test1: *
Wildcards or incomplete addresses/hostnames will not work since the
user hostmask can contains wildcards so use dummy entries like X.Y.0.0
to find users with X.Y.* or X.Y.*.* in their hostmask. Command does
not understand ident names in the hostmask or return that portion of
the hostmask for matching entries. The data searched is the table used
for the Reject_Unknown_Ips option but is available even if the option
isn't enabled.
17) New field in ioFTPD.ini under [Sections] (<share section #>).
<alias> = <credit section #> <stats section #> <share section #> <path>
If you specify a <share section #> when defining a section then instead of
credits being applied to the current section they are added/spent from
the shared section. The biggest benefit of this is to enable you to
set different ratios for different sections but have a single credit
pool for the user.
v6.0.5 Release Notes [Not publicly released]
1) Changed "site free" to "site freespace" to avoid reported ioA/ioB conflict,
and modified ioFTPD.ini permissions to reflect change.
2) Added "site free" alias to call "site freespace". ioA/ioB users can just
remove this alias and use the textfile with cookie, and everybody else
won't notice a change.
|
|
|
04-30-2007, 04:57 AM
|
#3
|
Senior Member
ioFTPD Scripter
Join Date: Oct 2002
Posts: 703
|
CPSV not added to FEAT?
/ZR
|
|
|
04-30-2007, 05:29 AM
|
#4
|
Member
Join Date: Sep 2005
Posts: 60
|
Very nice update. Thx!
.ioFTPD file that made previous version crashing is now fixed.
Just to let u know, u forgot to add the freespace alias in .ini file.
|
|
|
04-30-2007, 06:05 AM
|
#5
|
Senior Member
FlashFXP Beta Tester ioFTPD Foundation User
Join Date: Dec 2001
Posts: 306
|
I got serviceinstaller failed on the new Vista Home Premium machine;
Log:
SideBySide
Det gick inte att skapa aktiveringskontext för x:\ioFTPD\system\ServiceInstaller.exe. Den beroende sammansättningen Microsoft.VC80.CRT,processorArchitecture="x86",pub licKeyToken="1fc8b3b9a1e18e3b",type="win32",versio n="8.0.50727.762" kunde inte hittas. Använd sxstrace.exe om du vill diagnostisera ytterligare.
It could find a file or somethin,,, no clue actually.
|
|
|
04-30-2007, 07:14 AM
|
#6
|
Senior Member
ioFTPD Scripter
Join Date: Oct 2002
Posts: 703
|
Hey Yil. Here some info on a crash that just occured on my machine with 6.1.0.
Code:
Unhandled exception 3221225477 at address 0x004e4268 (0x00000000)
0x00000000 0x7235393b
Again it seems to be that low level stuff (0x004...) that you mentioned in the 6.0 thread. This time it was running for 2hrs 3mins 16secs with very low activity - less than 20 files total uploaded or downloaded, less than 10 logins/logouts, ran uinfo command 4 times and while cleaning up my ini file I rehashed 4 times.
During this time-period what could have happened? The things I can come to think of are; the scheduler issues ConfigUpdate every 20 mins and that I use the Global_Outbound_Bandwidth option which I also changed one or two times and then rehashed the config, and I have some 70 lines of detailed vfs permissions that I guess io has to check for every event (cwd, stor etc.)
Any ideas on what I can do to help tracking it down?
/ZR
|
|
|
04-30-2007, 12:13 PM
|
#7
|
Too much time...
FlashFXP Beta Tester ioFTPD Administrator
Join Date: May 2005
Posts: 1,194
|
Bugs
Zer0: CPSV missing from FEAT... check
oldhouse: freespace alias missing... check. The release tree is maintained separate from development so things like the cache/logfiles/etc don't get zip'd up. I guess I forgot to move a line over...
Flow: I think I know what the problem is though I don't read german... I was very careful to build ioFTPD and the tcl/php libraries to NOT require the newer VS2005 MS CRT DLLs. I however failed to do so with the helper apps so you will probably get the same error with the new ioFTPD-Start application. I'll rebuild and remove the runtime dependency since I'm not sure how you get the libraries since the license prohibits redistribution I believe.
ZerO: I think the only way to find the problem is to compile from the source, run it under the debugger and/or with tools like Purify, BoundsChecker, etc and test out lots of commands. I plan to do this soon as I've implemented almost everything now and getting it stable is now the top priority. The debugger still has problems with closesocket() in some situations but I'm not sure if that's a real problem or not since the socket libraries are notoriously bad. It does prevent releasing a general purpose debug build for you to use since it won't stay up long without saying there is a problem...
Last edited by Yil; 04-30-2007 at 12:33 PM.
|
|
|
04-30-2007, 12:29 PM
|
#8
|
Too much time...
FlashFXP Beta Tester ioFTPD Administrator
Join Date: May 2005
Posts: 1,194
|
|
|
|
04-30-2007, 12:47 PM
|
#9
|
Member
FlashFXP Beta Tester ioFTPD Foundation User
Join Date: Jul 2005
Posts: 82
|
Hey Yil,
it would be nice if you could make an upgrade text with the new options for the ini file so one could copy the new stuff from there to the existing ini file without comparing the new and existing files and telling what files have top be replaced when upgrading. So sort of changelog but a little bit more detailed for upgrading.
|
|
|
04-30-2007, 01:25 PM
|
#10
|
Senior Member
Join Date: Feb 2006
Posts: 138
|
Is there any 'todo' list, or whishlist put up anywhere?
|
|
|
04-30-2007, 01:41 PM
|
#11
|
Senior Member
FlashFXP Beta Tester ioFTPD Foundation User
Join Date: Dec 2001
Posts: 306
|
Service Installer works now in 6.1.1 version. You ROCK Yil!
|
|
|
04-30-2007, 02:21 PM
|
#12
|
Too much time...
FlashFXP Beta Tester ioFTPD Administrator
Join Date: May 2005
Posts: 1,194
|
Babek: I think the changelog is pretty detailed already and I believe I mention every file I modified in the release so you know where to look. I suggest you try some free file comparision tools to help locate changes in the ioFTPD.ini file. Check out ExamDiff or P4WinMerge from this link: Free File Comparison Tools
Either of those tools should make it easy to see changes between ioFTPD.ini releases. A trick is to compare the previous unmodified file I released and the current one and then apply those change to your own file. I think P4WinMerge might even have 3 file support.
pion: Check out the Todo/Wishlist sticky thread That reminds me I should go update it...
|
|
|
04-30-2007, 02:51 PM
|
#13
|
Junior Member
Join Date: Mar 2007
Posts: 7
|
wonderful job you're doing Yil... much appreciated
|
|
|
05-01-2007, 09:16 AM
|
#14
|
Senior Member
FlashFXP Beta Tester ioFTPD Foundation User
Join Date: Dec 2001
Posts: 306
|
14) Whenever a connection is rejected because the IP has been auto-banned for
too many reconnections an entry is now recorded in Error.log.
Errr. just got myself banned. How do i unban , LOL
n/m, closed it down and altered the user file, limits 0 0 0 -1 0 for master account now, shouldn be a future problem, hehe
Last edited by Flow; 05-01-2007 at 09:50 AM.
|
|
|
05-01-2007, 12:39 PM
|
#15
|
Member
FlashFXP Registered User ioFTPD Foundation User
Join Date: Jul 2005
Posts: 43
|
Shared section
Hey Yil .... Darn i,m amazed again of the progress you make and a BIG thx for the requested feature ( share section ) i asked for short time back.
17) New field in ioFTPD.ini under [Sections] (<share section #>).
<alias> = <credit section #> <stats section #> <share section #> <path>
If you specify a <share section #> when defining a section then instead of
credits being applied to the current section they are added/spent from
the shared section. The biggest benefit of this is to enable you to
set different ratios for different sections but have a single credit
pool for the user.
Now i got one question .... is there a way to move all the existing creds in the other sections to this shared section? Cause i dont want the users to loose the existing creds.
Thx
|
|
|
Thread Tools |
|
Display Modes |
Rate This Thread |
Linear Mode
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -5. The time now is 07:16 PM.
|