ioFTPD General New releases, comments, questions regarding the latest version of ioFTPD. |
10-03-2013, 03:45 PM
|
#226
|
Too much time...
FlashFXP Beta Tester ioFTPD Administrator
Join Date: May 2005
Posts: 1,194
|
SRH99: I'm a bit surprised that you see the same limit on WAN and LAN especially with multiple logins without using SSL. Have you tried uploading/downloading a file locally via the 127.0.0.1 interface? The loopback address should show you the max speed you can expect without actually using the network. I think in my testing I was getting 40-50mb/sec per connection (with SSL even I think) on my machine with ioftpd sending to ioftpd so long as I didn't up/down using the same disks so there isn't any magic 200mb/sec limit I'm aware of.
When testing your local LAN are you using a 192.168.x.y addr or are you using your external IP addr if behind a NAT router? The reason this is important is that using the external IP addr makes the router process the packets just like any other WAN connection and I believe most home routers can't handle 200mb+ traffic. They claim they're gbit but that's only for local traffic. They skimp on the CPU to save costs so when they have to process firewall rules, bandwidth limits, etc it causes everything to slow down. Try googling your particular router. In fact, I'm not aware of any router (except maybe the newest AC varieties) that get even 600mb/sec external traffic with most modems in the 200mb/sec effective range. When you mentioned the varying speeds with both up/down traffic that's a pretty sure sign of a limited resources somewhere (the router CPU being one possibility).
The way to use a LAN ioFTPD server is to set the address to 192.168.x.y in FlashFXP, etc and enable the Use Site IP for PASV connection option in the site settings. This tells your client to ignore the IP address given in the PASV command response (which would be your external IP so everyone else gets the correct answer) but you know you can get to it directly so you just use the locally routed IP. This should eliminate all firewall rules in your router which helps speed things up, just make sure you don't have speed limiting enabled for particular hosts on the local LAN in your router configuration. I doubt you'll get that feature unless you're using custom firmware like tomato, etc. NOTE: You'll have to add the 192.168.x.y host to your hostmask if not already there, and you won't be able to use PORT connections (non-passive mode) unless you relax your Deny_Port_* rules which I don't recommend since you should be using passive mode anyway. By default ioftpd is prohibited from talking to itself locally because of these rules. That is considered a safety feature and operating as intended.
|
|
|
10-04-2013, 01:36 AM
|
#227
|
Member
Join Date: Mar 2010
Posts: 44
|
Yil, first thank you for your fast answer. I am very grateful of your work and efforts in making ioFTPD the server to use. Further, I would like to show my appreciations and donate a few bucks. If it is possible to do so, could you PM me with details.
The router is a tweaked Asus RT-AC66U so it should be able to deliver more than 200mbit, even through NAT. Anyway, it’s tested using 192.168.xx with same results. Last night I even build and tested with a pfSense firewall, just to take the router out of the equation. Still the same.
With the 40-50mb/s speed you mentioned in mind, it only leave the hard drives to blame. I decided to break down the Raid and test each disk by itself. It seems that two drives is faulty, only delivering very low transfer speeds, very low indeed. SMART says they are all good, and individually the transfer data as expected, but in Raid the performance is ridiculous. I think I’ve might found the answer to the problem
brgds..
|
|
|
10-04-2013, 01:09 PM
|
#228
|
Too much time...
FlashFXP Beta Tester ioFTPD Administrator
Join Date: May 2005
Posts: 1,194
|
Nice work figuring out it's the RAID at fault! Definitely not the first thing I would think would be the issue. In my experience SMART as a pass/fail is pretty poor. Usually I know a drive has serious issues before SMART claims it's failing. However, individual SMART attributes are really good to look at especially when watching trends! I've had some experience with drives developing bad blocks which get marked as pending before actually failing. Performance suffers when accessing them but the dumb drive won't remap the sectors until they are written to. The worst is when the pending blocks are part of the filesystem and not an actual file with performance taking minutes to access files... Bleck.
Check out Hard Disk Sentinel. There are other SMART monitoring tools including a number of free ones, but that's the only program I know that handles USB external drives. Useful to know if your external backup drive is having issues Anyway, grab a trial or something and see if any of the raw smart DATA varies between the drives that look good and those that don't. Should be very similar data since they are RAIDed drives.
I usually use WD Green drives as internals for bulk storage even though their performance isn't the greatest since they run cool. However WD intentionally makes those drives have huge bad block timeouts. They do that so people buying lots of drives for RAIDs will buy WD Red's (same drive, more money, small timeout). Seems like that should just be a jumper option to me or something. I'm not sure how your RAID handles a single drive not responding because of bad blocks. Some drop the drive from the array, other work around it for a while, etc. I'm sort of surprised you won't see warning messages from the RAID controller somewhere though.
|
|
|
12-10-2014, 12:36 PM
|
#229
|
Member
FlashFXP Registered User ioFTPD Foundation User
Join Date: Oct 2004
Posts: 57
|
just wanted to share a problem i had..
noticed my symlinks didnt show as symlinks one day. was visible as regular directories but when i entered them they redirected me as a symlink. but if i deleted the directory it started deleting the target of that link.
anyways the problem was that in ioftpd.ini i had set
No_SubDir_Sizing = True
because i dont want io to size all directories. this seems to have messed upp the symlinks. so i commented ut out as it is default. and now symlinks works perfect again.
so seems i have to live with io sizing my dirs..
|
|
|
01-04-2015, 12:41 PM
|
#231
|
Member
FlashFXP Registered User
Join Date: Jul 2009
Posts: 53
|
@Yil
I have got build error when using visual studio 2008 sp1 :
Code:
1>IoDebug.c
1>.\src\IoDebug.c(550) : error C2039: 'Eip' : is not a member of '_CONTEXT'
1> C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(2830) : see declaration of '_CONTEXT'
1>.\src\IoDebug.c(552) : error C2039: 'Ebp' : is not a member of '_CONTEXT'
1> C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(2830) : see declaration of '_CONTEXT'
1>.\src\IoDebug.c(554) : error C2039: 'Esp' : is not a member of '_CONTEXT'
1> C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(2830) : see declaration of '_CONTEXT'
1>.\src\IoDebug.c(707) : error C2039: 'Eip' : is not a member of '_CONTEXT'
1> C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(2830) : see declaration of '_CONTEXT'
1>.\src\IoDebug.c(709) : error C2039: 'Ebp' : is not a member of '_CONTEXT'
1> C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(2830) : see declaration of '_CONTEXT'
1>.\src\IoDebug.c(711) : error C2039: 'Esp' : is not a member of '_CONTEXT'
1> C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(2830) : see declaration of '_CONTEXT'
Code:
1>.\src\Buffer.c(338) : error C2143: syntax error : missing ')' before 'type'
1>.\src\Buffer.c(338) : error C2059: syntax error : ')'
1>.\src\Buffer.c(341) : error C2143: syntax error : missing ')' before 'type'
1>.\src\Buffer.c(341) : error C2059: syntax error : ')'
1>.\src\Buffer.c(344) : error C2143: syntax error : missing ')' before 'type'
1>.\src\Buffer.c(344) : error C2059: syntax error : ')'
1>.\src\Buffer.c(347) : error C2143: syntax error : missing ')' before 'type'
1>.\src\Buffer.c(347) : error C2059: syntax error : ')'
1>.\src\Buffer.c(358) : error C2143: syntax error : missing ')' before 'type'
1>.\src\Buffer.c(362) : error C2181: illegal else without matching if
1>.\src\Buffer.c(368) : error C2143: syntax error : missing ')' before 'type'
1>.\src\Buffer.c(379) : error C2143: syntax error : missing ')' before 'type'
1>.\src\Buffer.c(395) : warning C4267: '=' : conversion from 'size_t' to 'DWORD', possible loss of data
1>.\src\Buffer.c(458) : error C2143: syntax error : missing ')' before 'type'
1>.\src\Buffer.c(653) : error C2046: illegal case
1>.\src\Buffer.c(655) : warning C4244: 'function' : conversion from '__int64' to 'DWORD', possible loss of data
1>.\src\Buffer.c(660) : error C2059: syntax error : '}'
1>.\src\Buffer.c(668) : error C2061: syntax error : identifier 'FormatStringW'
1>.\src\Buffer.c(668) : error C2059: syntax error : ';'
1>.\src\Buffer.c(668) : error C2059: syntax error : 'type'
Is there any chance moving into 64 bit and visual studio 2013?
|
|
|
01-08-2015, 04:12 AM
|
#232
|
Too much time...
FlashFXP Beta Tester ioFTPD Administrator
Join Date: May 2005
Posts: 1,194
|
I've been using VS 2008 to build with and it works fine. I'm not sure why you would be seeing those build errors. I believe I've also used VS 2010 when working on v8 so that should work as well and I don't see any reason why 2012/2013 wouldn't work either as this is just C code and not C++ stuff. x64 would require a lot of work in my opinion though I'd love to do it just to get better encryption performance out of OpenSSL. However it would probably break any existing shared memory add-ons. I was actually willing to do that but I figured if I was going to break stuff I'd want a much nicer interface to replace it with and that was one of the sidetracks I got off on when playing with v8.
The IoDebug.c stuff has to do with crashlog generation. That requires you have installed the Window Debug kit so you have dbghelp.dll and it's headers plus you might need the Windows Platform Kit/headers as well. Can you check to see if you have those installed?
|
|
|
01-08-2015, 04:14 AM
|
#233
|
Too much time...
FlashFXP Beta Tester ioFTPD Administrator
Join Date: May 2005
Posts: 1,194
|
Oh and you'll also need TCL/OpenSSL or course. I think there should be .txt files in the source explaining what I did with both and the changes to the TCL source to prevent socket handle inheritance problems with EXEC scripts.
|
|
|
01-08-2015, 04:19 AM
|
#234
|
Member
FlashFXP Registered User
Join Date: Jul 2009
Posts: 53
|
Thanks again Yil, managed to compile it on visual studio 2013, viewing around openssl.c and cannot managed to generate 4096 bits certificate, in which function does the openssl with bits options to generate the certificate?, or is it not possible by ftp ssl design ?.
Do you have any plan to hosting the source code in github ?, ioftpd surely need more exposure, hence it will be possible to add more peoples to realize x64.
|
|
|
01-08-2015, 06:09 AM
|
#235
|
Too much time...
FlashFXP Beta Tester ioFTPD Administrator
Join Date: May 2005
Posts: 1,194
|
Check out MakeCert in OpenSSL.c, in particular you'll want RSA_generate_key_ex() to up it from 1024 to whatever. I honestly don't know if using 4096 bits is supported everywhere though. I think I remember reading google was going to 2048 with their public cert so I would assume most encryption libraries can handle that, but just can't say for sure with 4096 but I think it should be OK.
Given that so few (maybe you and one other person) have even tried to compile the code I've just been lazy with using a code repository. If you do find yourself doing more than tweaking the cert size I'll see about putting it online somewhere.
The one other thing I think you'll want to look at is the GetSslOptionBit() function. I'm not a big OpenSSL user so I really don't know if there is a built-in library function to parse text into bits so I wrote that one. There is obviously one to take the wanted cypher text and generate a list of cypers from that, but I didn't see one for options but the docs kinda suck. I think I even searched the code for some of the rare text strings and didn't turn up any conversion function but they may have added one or I just missed it. The obvious issue is it's probably missing a new option or three by now so I'd update that since you're likely using the latest OpenSSL libs.
|
|
|
01-08-2015, 06:30 AM
|
#236
|
Member
FlashFXP Registered User
Join Date: Jul 2009
Posts: 53
|
Thanks alot Yil!, btw how is v8 going?
|
|
|
01-09-2015, 07:21 AM
|
#237
|
Member
FlashFXP Registered User
Join Date: Jul 2009
Posts: 53
|
@Yil
Can you please attach in here your modified TCL source code?, it seems i have modified it wrongly.
What is the cause of
Code:
[18:02:59] [R] 530 Login failed: Error with VFS file.
I have recheck that the file it's there and i have modified & customize it.
Last edited by Prodigy; 01-10-2015 at 06:05 AM.
|
|
|
03-17-2015, 02:34 AM
|
#238
|
Junior Member
Join Date: Jan 2004
Posts: 2
|
The links in the first post are dead. Any mirrors?
|
|
|
04-14-2015, 06:16 AM
|
#239
|
Junior Member
Join Date: May 2007
Posts: 6
|
|
|
|
07-28-2015, 10:04 AM
|
#240
|
Junior Member
FlashFXP Registered User
Join Date: Nov 2005
Posts: 10
|
Have anyone tested ioftpd in Windows 10 yet and know if its working as it should?
|
|
|
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 10:00 PM.
|