PDA

View Full Version : Anyone interested in my ioFTPD build?


Prodigy
04-26-2016, 06:24 PM
In the event of waiting Yil comes back and ioFTPD v8? and my noob attempt to mastering C. I have made some modifications based on vanilla ioFTPD v7.7.3 :

Compiled with Visual Studio 2015 Update 2 with windows XP compatibility (not tested)
Fixed some warning found when compiling
Fixed some null pointer based on static analysis by PVS-STUDIO
Upgraded TCL into 8.5.19
Upgraded into OpenSSL 1.02g, disabled SSLV2 and upgraded to TLS v1.2
Fixed freeing null pointer in some cases (PVS-STUDIO)
Added some null pointer check.


Currently i have tested on minimal testing environment (local transfer) and LAN transfer, with 0 script addon. I am not recommended to run it on production without further testing.

Does anyone interested in this?, of course i will also sharing the source code.

th3d00d1
04-28-2016, 05:47 AM
does this work on a windows 10? i am interested and getting a build that works good on windows 10

Prodigy
04-28-2016, 03:00 PM
Link to binaries

https://mega.nz/#!FUFmEQ5T!jcgUKumTo0JvubJcF-WJsbBXPevmBmejrsk5Yt8jO1w

Virustotal result (https://virustotal.com/en/file/b3d2d699a4cd32915436032ac003202e90a62c963e41e5df93 72aa5debae70a5/analysis/1461873057/).

Link to source code (includes TCL Patch)

https://mega.nz/#!xU9mxb5J!Ijd5gwO1RM_fdwOrM-g460wgKdLdsZ0SrgDmNmQAqIg


How to upgrade :

1. As you know, currently most of the peers are recommended to disable SSL V2, and not recommended SSL V3, if you want to just enabling TLS, you need to set the following :

Encryption_Protocol = NO_SSLv2 | NO_SSLv3 | TLS


*Without explicitly telling the ioFTPD NO_SSLv2 and NO_SSLv3, ftprush compatibility will broke (i have tried to contact them but instead they told me to use filezilla instead :D). With only putting "TLS" in the Encryption_Protocol, the client that works are filezilla and flashfxp.
*Afaik for ftprush to work with TLS v1.2 you need to replace their current OpenSSL libraries (ssleay32.dll & libeay32.dll) with either from various windows build that are available in the internet or the one from my build.
2. Copy and replace all files and folders from /lib directory in my build into your current ioFTPD installation.
3. Copy and replace all executables (*.exe) & libraries (*.dll) & also *.pdb & *.map from /system directory in my build into your current ioFTPD installation.
4. I have statically linked the VS 2015 Update 2 runtime libraries into the ioFTPD, you should good to go without installing the runtime libraries. In the event if you needed it, in here (http://download.microsoft.com/download/9/b/3/9b3d2920-49f7-4e76-a55c-d72b51e44537/vc_redist.x86.exe)where you can download it.


I hope this will be useful to someone :)

mr-b
05-04-2016, 05:53 PM
Hey Prodigy,

See my changes here: https://oss.azurewebsites.net/forum/16261/p85856-post25.html

Glad to see someone else got the build environment working!

Prodigy
05-10-2016, 07:04 AM
Forgot to add your name as one of the fixes.

Rusher
03-20-2017, 12:52 PM
Will this run on Windows Server 2016 ?

inetz
08-27-2017, 07:03 AM
I think any work towards ioftpd is great to see :) - I love using it with ioNinja be great to see more updates etc.

Prodigy
11-25-2018, 02:49 AM
Compiled with Visual Studio 2017 15.9.2 & Windows 10 SDK 10.0.17763.0 (Only for Windows 7 and above)

Changes :

Upgraded to OpenSSL 1.0.2q
Compiled with SSE2 enabled
By using newest compiler there is possibility of small performance boost
Reverted my changes because of reported crashes



https://mega.nz/#!xF13iaha!54S19PNTHqtDNlptPFxe1P2p-Tv3D7y6JVmb32jbwOM


Source Code :

https://mega.nz/#!kQ8RxYaZ!wAAFZo9N6AjG82gZQRtRFbPMCoY6NUTN1tmrOgs C88Q


Note : NOT Tested thoroughly!
Note : No new fixes or functionality changes, i hope that Yil will come back :-(
You might need Visual C++ 2017 runtime :

x86 : https://aka.ms/vs/15/release/vc_redist.x86.exe


I can see that lot's of request for the original untouched source and compiled executable, so here it is from my archive :

https://mega.nz/#!oU1HzACB!xCQ69RDxYdg_vuRpO50Sfv8t5J1ar1fGBcqvRe3 uARY

Henkie2
11-25-2018, 02:22 PM
Some awesome work there Prodigy, going to test and upgrade (from your last build) :)
Any chance to compile windrop latest version for ioNiNJA windrop?
And indeed we miss Yil and 0_dog

Prodigy
11-26-2018, 01:44 AM
Some awesome work there Prodigy, going to test and upgrade (from your last build) :)
Any chance to compile windrop latest version for ioNiNJA windrop?
And indeed we miss Yil and 0_dog
Just a newbie attempt to at-least 'resurrecting' ioFTPD :), uploaded new build which incorporating first post changes (forgot to add it), please re-download.

Will take a look at windrop things.

Prodigy
11-26-2018, 03:28 AM
@Henkie2
Isn't it already exist the windrop compilation (https://sourceforge.net/projects/windrop/files/windrop/)? or the ioNinja one is customized build?

Henkie2
11-26-2018, 04:26 AM
Just a newbie attempt to at-least 'resurrecting' ioFTPD :), uploaded new build which incorporating first post changes (forgot to add it), please re-download.

Will take a look at windrop things.
Oke, thanks for info will redownload. For now last build is running fine without any errors and its runs smooth incl all addons/scripts.

About that windrop, its a ioninja thing , they compiled that one 10 years ago. Hope you can have a look to compile that one to last build of windrop.Will be great. Thanks for your compiles on ioFTPD

UltraFine
11-26-2018, 08:44 AM
In the event of waiting Yil comes back and ioFTPD v8? and my noob attempt to mastering C. I have made some modifications based on vanilla ioFTPD v7.7.3 :

Compiled with Visual Studio 2015 Update 2 with windows XP compatibility (not tested)
Fixed some warning found when compiling
Fixed some null pointer based on static analysis by PVS-STUDIO
Upgraded TCL into 8.5.19
Upgraded into OpenSSL 1.02g, disabled SSLV2 and upgraded to TLS v1.2
Fixed freeing null pointer in some cases (PVS-STUDIO)
Added some null pointer check.


Currently i have tested on minimal testing environment (local transfer) and LAN transfer, with 0 script addon. I am not recommended to run it on production without further testing.

Does anyone interested in this?, of course i will also sharing the source code.

Hi Prodigy, very happy to see that you managed to compile the code.

I tried your version on two completly different machines: WIN7 and WIN10. On both machines sticking any sctipt (ioBanana, ioA) in the SCHEDULER makes ioftpd crash. (I tried newday and searchlog by ioA 2.0.5).

On both mashies it crashes with: Unhandled exception: Access Violation (0xC0000005)
Address: 0x013F0B0C [attempting to write data to 0x00000005]

YILs version seems to work just fine with the SCHEDULER.

Ultra

Prodigy
11-30-2018, 08:14 AM
Hi Prodigy, very happy to see that you managed to compile the code.

I tried your version on two completly different machines: WIN7 and WIN10. On both machines sticking any sctipt (ioBanana, ioA) in the SCHEDULER makes ioftpd crash. (I tried newday and searchlog by ioA 2.0.5).

On both mashies it crashes with: Unhandled exception: Access Violation (0xC0000005)
Address: 0x013F0B0C [attempting to write data to 0x00000005]

YILs version seems to work just fine with the SCHEDULER.

Ultra

[Edit]
Reverted my changes, only plain mr-b's change, and other required changes in other to compile. Test it again.

UltraFine
12-15-2018, 04:08 AM
Hello Prodigy,

I tried the new version this night and both schedule events in it caused ioftpd to crash, just as in the previous version that you had posted here. Both events work with YIL version. Unfortunatly YIL version does not work with the new SSL libraries (as far as I can tell).

Do you want me to send you the crash dumps?


Sat Dec 15 04:00:07 2018 - ioFTPD v7.7.3
Unhandled exception: Access Violation (0xC0000005)
Address: 0x01040B0C [attempting to write data to 0x00000007]
PID=6340, PATH=C:\ioFTPD\system\ioFTPD.exe
Thread ID: 17200

System information:
<removed>
Notice: Unable to acquire Debug Rights

Sat Dec 15 00:10:14 2018 - ioFTPD v7.7.3
Unhandled exception: Access Violation (0xC0000005)
Address: 0x01040B0C [attempting to write data to 0x00000008]
PID=22396, PATH=C:\ioFTPD\system\ioFTPD.exe
Thread ID: 16436

System information:
<removed>
OS: Windows 6.2 (build 9200)
Registry: Windows 10 Enterprise
Decoded: Vista
Page size: 4096
Notice: Unable to acquire Debug Rights


Here is my scheduler setup:

[Scheduler]
Reset = 0 0 * * &Reset
ConfigUpdate = 0,10,20,30,40,50 * * * &ConfigUpdate
Newday = 10 23 * * EXEC ..\scripts\ioA\ioA.exe NEWDATE
searchlog = 0 3 * * EXEC ..\scripts\ioA\ioA.exe SEARCHLOGCREATE

UltraFine
12-15-2018, 04:10 AM
Prodigy, one more thing:

it would be awesome you could tagg your versions somehow diffrently. I get confused with the exe files because they also have the same version tag as the YIL version. Also in the crash-log it writes 7.7.3 and you never know if you tested the correct version. Maybe change the version tag to 7.7.3.p1 , 7.7.3.p2 etc.

Cheers
UltraFine

Prodigy
12-15-2018, 05:20 AM
Hello Prodigy,

I tried the new version this night and both schedule events in it caused ioftpd to crash, just as in the previous version that you had posted here. Both events work with YIL version. Unfortunatly YIL version does not work with the new SSL libraries (as far as I can tell).

Do you want me to send you the crash dumps?


Sat Dec 15 04:00:07 2018 - ioFTPD v7.7.3
Unhandled exception: Access Violation (0xC0000005)
Address: 0x01040B0C [attempting to write data to 0x00000007]
PID=6340, PATH=C:\ioFTPD\system\ioFTPD.exe
Thread ID: 17200

System information:
<removed>
Notice: Unable to acquire Debug Rights

Sat Dec 15 00:10:14 2018 - ioFTPD v7.7.3
Unhandled exception: Access Violation (0xC0000005)
Address: 0x01040B0C [attempting to write data to 0x00000008]
PID=22396, PATH=C:\ioFTPD\system\ioFTPD.exe
Thread ID: 16436

System information:
<removed>
OS: Windows 6.2 (build 9200)
Registry: Windows 10 Enterprise
Decoded: Vista
Page size: 4096
Notice: Unable to acquire Debug Rights


Here is my scheduler setup:

[Scheduler]
Reset = 0 0 * * &Reset
ConfigUpdate = 0,10,20,30,40,50 * * * &ConfigUpdate
Newday = 10 23 * * EXEC ..\scripts\ioA\ioA.exe NEWDATE
searchlog = 0 3 * * EXEC ..\scripts\ioA\ioA.exe SEARCHLOGCREATE

Hmm, that's strange, if i remembering it right the crashes is only happened if there is encoding directory inside the lib/tcl8.5 dir..., could you please check it out if there is that directory inside the lib/tcl8.5/ dir?, it was included in old of my build archive if i am not mistaken, perhaps you still have it. So just delete that encoding directory.

Prodigy
12-15-2018, 05:21 AM
Prodigy, one more thing:

it would be awesome you could tagg your versions somehow diffrently. I get confused with the exe files because they also have the same version tag as the YIL version. Also in the crash-log it writes 7.7.3 and you never know if you tested the correct version. Maybe change the version tag to 7.7.3.p1 , 7.7.3.p2 etc.

Cheers
UltraFine

Will do soon, if we manage to tackle those error.

UltraFine
12-16-2018, 07:59 AM
Hello Prodigy,

this night I tried it again, removed encoding directory and double checked that I take the right exe file. It still crashes on SCHEDULER.


ioftpd.exe size: 685 KB (701.440 Bytes) from ‎30. ‎November ‎2018, ‏‎14:45:53

interestingly:
TINYDUMP-20181216.040042-24524.dmp is of size 0.
TINYDUMP-20181216.001047-16920.dmp is of size 0.


Sun Dec 16 00:10:47 2018 - ioFTPD v7.7.3
Unhandled exception: Access Violation (0xC0000005)
Address: 0x00BF1895 [attempting to read data from 0x00000009]
PID=16920, PATH=C:\ioFTPD\system\ioFTPD.exe
Thread ID: 22672

System information:
<CPU info remoeved>
OS: Windows 6.2 (build 9200)
Registry: Windows 10 Enterprise
Decoded: Vista
Page size: 4096
Notice: Unable to acquire Debug Rights


Sun Dec 16 04:00:42 2018 - ioFTPD v7.7.3
Unhandled exception: Access Violation (0xC0000005)
Address: 0x00BF1895 [attempting to read data from 0x00000007]
PID=24524, PATH=C:\ioFTPD\system\ioFTPD.exe
Thread ID: 20140

System information:
<CPU info removed>
OS: Windows 6.2 (build 9200)
Registry: Windows 10 Enterprise
Decoded: Vista
Page size: 4096
Notice: Unable to acquire Debug Rights

Do you want to see the MINIDUMP-20181216.040042-24524.dmp and MINIDUMP-20181216.001047-16920.dmp files?


UltraFine

P.S. I am not sure, but isnt it possible that this crashes have something to do with the variables set in ioftpd.env ?

Here are mine:
ACCSPEED=%.4[speed]
COMSPEC=%[environment(COMSPEC)]
CREDITS=%[credits(mega)]
CREDITSECTION=%[$creditsection]
FLAGS=%[$flags]
GID=%[$gid]
GROUP=%[$group]
GROUPS=%[group]
IDENT=%[$ident]
IP=%[$ip]
PATH=%[$path]
PWD=%[$pwd]
REALPATH=%[environment(PATH)]
SECTION=%[$sectionid]
SPEED=%.[speed]
STATSSECTION=%[$statssection]
SYSTEMDRIVE=%[environment(SYSTEMDRIVE)]
SYSTEMPATH=%[$path]
SYSTEMROOT=%[environment(SYSTEMROOT)]
TAGLINE=%[$unfo]
UID=%[$uid]
USER=%[$user]
VIRTUALPATH=%[$pwd]
WINDIR=%[environment(WINDIR)]

Prodigy
12-18-2018, 01:24 PM
Hmm, looks like unable to access 0xC0000005 is pretty generic one on windows, one of the reason is faulty hardware or windows installation, if that's the case it should also happened with Yil one.

My assembly language is pretty rusty, but it would be helpful if you give me the complete setup in which the case is happened.

Mean while, could you please trying the following to disable DEP on ioFTPD.exe ?, steps are in here (https://www.drivereasy.com/knowledge/solved-how-to-fix-0xc0000005-error/).

Prodigy
12-18-2018, 03:24 PM
UltraFine, could you please trying my new compilation test?

Binaries :

https://mega.nz/#!NA8kyYwR!BUx2cv8mXUzT84BaoO6ktdlp-S3qrLwNlOA1SPqfHdg


Source code :

https://mega.nz/#!MBsikIDD!IsUWlFTvY_Ew4wXiOqFcIEfuSbmOAg2MdppdLkB XNIQ


I have a hunch that your ioFTPD installation still using old TCL lib folder, please make sure to delete old one and replacing it by mine.

Prodigy
12-18-2018, 04:44 PM
New TCL libs for ioNinja made API breaking changes, so i have removed it.

UltraFine
12-19-2018, 05:43 AM
UltraFine, could you please trying my new compilation test?

Binaries :

https://mega.nz/#!NA8kyYwR!BUx2cv8mXUzT84BaoO6ktdlp-S3qrLwNlOA1SPqfHdg


Source code :

https://mega.nz/#!MBsikIDD!IsUWlFTvY_Ew4wXiOqFcIEfuSbmOAg2MdppdLkB XNIQ


I have a hunch that your ioFTPD installation still using old TCL lib folder, please make sure to delete old one and replacing it by mine.



Hey Prodigy,

fyi.

I test on two different machines with Win7 and Win10
In the past weeks I was testing ioftpd always on two completely different machines. One my Win7 laptop and the other a win10 desktop pc which has no relationship to the laptop whatsoever. I basically do the setup on the laptop, zip ioftpd and copy it to the desktop. So I always have two identical copies running. I experience the crashes on SCHEDULER events on both machines when I stick EXE scripts into the SCHEDULER. So I would exclude "windows misconfiguration" as a possible reason for that.

Sticking TCL scripts into SCHEDULER seems to work fine
This night I tried out the nxTools NEWDAY script, which is a TCL based solution. The SCHEDULER ran just fine created the NEWDAY directories. Thus I conclude from this that a TCL script in the SCHEDULER DOES NOT crash the ioftpd.

I am using the TCL lib folder from your compilation
I am pretty sure I am using the TCL lib folder from your compilation, because (if I remember correctly) your version would not even start if you have the tcl lib folder from YIL compilation. But I will recheck one more time for you.

Next Steps: Two tests to run?
If I understand you correctly I have to perform two tests now.
First Test: Just the test with the new compiled binary from 18th-Dezember without changing the DEP.
Second Test: Disable the DEP and test with the ioftpd.exe from 30th-November (heh, it would be way better to have some other differentiator than the compilation date)

Correct?

UltraFine

P.S.
Prodigy, one more thing: could you please name your files names in a way that they contain information that makes them easier to differentiate? I have now three different "ioftpd.rar" files in my download directory, and never know which one is the new one or the old one. One solution could be to name them "ioftpd_19122018_Prodigy_compilation.RAR"

UltraFine
12-19-2018, 05:50 AM
Also added new TCL libs to the ioNINJA, haven't tested thoroughly, only installing it on ioFTPD and restarted the ioFTPD, no error or anything even tough it has custom scheduler :


https://mega.nz/#!NR0mhCwK!R4WnUsF4Frc2N7so9QOm7LUbQziOvOBlnt0E_1n qGCM


Hey Prodigy,

what benefit does a new TCL library have? I think it would be way cooler to update the eggdrop version. The version that comes with ioNINJA is 1.6.17. I tried to update it to 1.8.3 (current one) but ran into strange issues which can be categorized in tree groups:

1) procs that get windows info like "uptime" proc and rely on TWAPI crash the eggdrop. The current version of TWAPI is 4.3. The one supplied with ioNINJA is 2.0. I did not manage to update the TWAPI to 4.3, although I tried. :p

2) Bot would not announce NEWDIR and DELDIR (but would announce other triggers from the log)

3) Some issues with ioftpd::Window in the "tagline" proc. These may also be related to (2)

Cheers
UltraFine

Prodigy
12-19-2018, 06:55 AM
Hey Prodigy,

fyi.

I test on two different machines with Win7 and Win10
In the past weeks I was testing ioftpd always on two completely different machines. One my Win7 laptop and the other a win10 desktop pc which has no relationship to the laptop whatsoever. I basically do the setup on the laptop, zip ioftpd and copy it to the desktop. So I always have two identical copies running. I experience the crashes on SCHEDULER events on both machines when I stick EXE scripts into the SCHEDULER. So I would exclude "windows misconfiguration" as a possible reason for that.

Sticking TCL scripts into SCHEDULER seems to work fine
This night I tried out the nxTools NEWDAY script, which is a TCL based solution. The SCHEDULER ran just fine created the NEWDAY directories. Thus I conclude from this that a TCL script in the SCHEDULER DOES NOT crash the ioftpd.

I am using the TCL lib folder from your compilation
I am pretty sure I am using the TCL lib folder from your compilation, because (if I remember correctly) your version would not even start if you have the tcl lib folder from YIL compilation. But I will recheck one more time for you.

Next Steps: Two tests to run?
If I understand you correctly I have to perform two tests now.
First Test: Just the test with the new compiled binary from 18th-Dezember without changing the DEP.
Second Test: Disable the DEP and test with the ioftpd.exe from 30th-November (heh, it would be way better to have some other differentiator than the compilation date)

Correct?

UltraFine

Prodigy, one more thing: could you please give your files names that contain information that makes them easier to differentiate? I have now three different "ioftpd.rar" files in my download directory, and never know which one is the new one or the old one. One solution could be to name them "ioftpd_19122018_Prodigy_compilation.RAR"

Yes, that would be correct, will do about archives naming. FYI you need to always replace all of the *.dll, *.pdb from my archive into the system folder, the mandatory lib folder replacement is required as the one on my archive is newest & compatible with the libraries that is linked with the ioFTPD in term of TCL 5.9.x branch.

What is your preliminary test of my newest build?, not crashing anymore or bad news :-(?.

Btw you could send/P.M me your dumps now if it's still crashing.

My preliminary test was only done with ioNinja addon.

Prodigy
12-19-2018, 06:57 AM
Hey Prodigy,

what benefit does a new TCL library have? I think it would be way cooler to update the eggdrop version. The version that comes with ioNINJA is 1.6.17. I tried to update it to 1.8.3 (current one) but ran into strange issues which can be categorized in tree groups:

1) procs that get windows info like "uptime" proc and rely on TWAPI crash the eggdrop. The current version of TWAPI is 4.3. The one supplied with ioNINJA is 2.0. I did not manage to update the TWAPI to 4.3, although I tried. :p

2) Bot would not announce NEWDIR and DELDIR (but would announce other triggers from the log)

3) Some issues with ioftpd::Window in the "tagline" proc. These may also be related to (2)

Cheers
UltraFine

Hmm, probably there are API breaking changes when the TCL libraries/packages changed major version number, it's only a test if newer TCL libraries having fixes/performances improvement, i have removed it to avoid miss-leading.

UltraFine
12-19-2018, 09:09 AM
Yes, that would be correct, will do about archives naming. FYI you need to always replace all of the *.dll, *.pdb from my archive into the system folder, the mandatory lib folder replacement is required as the one on my archive is newest & compatible with the libraries that is linked with the ioFTPD in term of TCL 5.9.x branch.

What is your preliminary test of my newest build?, not crashing anymore or bad news :-(?.

Btw you could send/P.M me your dumps now if it's still crashing.

My preliminary test was only done with ioNinja addon.

Current status is: ioftpd from 30 November is crashing on SCHEDULER events of EXE scripts like NEWDAY and SEARCHLOGCREATE of IOA. TCL scripts as SCHEDULER events seem to work fine.

Tonight I will be testing:

WIN10 machine: Will continue running the test of ioftpd from 30th November where I check if TCL scripts in SCHEDULER crash ioftpd. Last night the TCL script NEWDAY of nxTools did not crash iofptd. I keep ioftpd running for another day now, to see if it will stay stable this night too.

WIN7 machine: I will test ioftpd from 18th Dezember with EXE scripts in SCHEDULER (IOA). I replaced all non *.ini files in /system directory and I replaced the /lib directory.

We will see what will happen.

Prodigy
12-19-2018, 10:09 AM
I hope it will be fine without any more crashes. I was tested using CoreFTP client, and getting 80 MBps on my localhost loopback ioFTPD server.

Prodigy
12-20-2018, 01:13 AM
@UltraFine

Managed to compile eggdrop 1.8.3 x86 with the following details :

UTF-8 supports on TCL
Linked with TCL 8.5.19 for backward compatibility with most of ioFTPD Scripts/addons
Linked with openSSL 1.0.2p, too lazy to compile version 1.0.2q :D
Adjusted eggdrop default config file to reflect 1.8.x branch
Cywgin x86 runtime version 2.11.2, so below windows 7 not being able to run it.
Enabled IPV6 & SSL/TLS


Download :

https://mega.nz/#!tVMB3IhL!SZ6GwfWPwjgQfO80Grtbu4-US3yAfrU8c8tre8aQ1AY



Note :
Why not eggdrop 1.6.21?, there is no reliable SSL patches available for that version, eggdrop 1.8.x officially supported SSL/TLS by the egghead development team, so probably more stable and reliable.

Haven't tested it thoroughly, only early test on Windows 10 1809 x64.

Henkie2
12-20-2018, 01:53 AM
Managed to compile eggdrop 1.8.3 x86 with the following details :

UTF-8 supports on TCL
Linked with TCL 8.5.19 for backward compatibility with most of ioFTPD Scripts/addons
Linked with openSSL 1.0.2p, too lazy to compile version 1.0.2q :D
Adjusted eggdrop default config file to reflect 1.8.x branch
Cywgin x86 runtime version 2.11.2, so below windows 7 not being able to run it.
Enabled IPV6 & SSL/TLS


Download :

https://mega.nz/#!tVMB3IhL!SZ6GwfWPwjgQfO80Grtbu4-US3yAfrU8c8tre8aQ1AY



Note :
Why not eggdrop 1.6.21?, there is no reliable SSL patches available for that version, eggdrop 1.8.x officially supported SSL/TLS by the egghead development team, so probably more stable and reliable.

Haven't tested it thoroughly, only early test on Windows 10 1809 x64.

Some awesome work again :) Will test your version tonight. Thanks for compiles

UltraFine
12-20-2018, 07:58 AM
Hmm, looks like unable to access 0xC0000005 is pretty generic one on windows, one of the reason is faulty hardware or windows installation, if that's the case it should also happened with Yil one.

My assembly language is pretty rusty, but it would be helpful if you give me the complete setup in which the case is happened.

Mean while, could you please trying the following to disable DEP on ioFTPD.exe ?, steps are in here (https://www.drivereasy.com/knowledge/solved-how-to-fix-0xc0000005-error/).

Prodigy, just for your interest: I have tried to disable DEP for ioftpd.exe (to put it into the excluded list) and my win7 does not go for it. I get a message that exluding this program from DEP is impossible. DEP has to be run for this program. :eek:

Prodigy
12-20-2018, 10:59 AM
@Henkie2
Only a newbie attempt, far from skilled :(

@UltraFine
I see, but does it run fine so far without crashes on windows 7?

UltraFine
12-21-2018, 03:59 AM
@Henkie2
Only a newbie attempt, far from skilled :(

@UltraFine
I see, but does it run fine so far without crashes on windows 7?

Hello Prodigy,

I ran the test here, the result: It crashed both SCHEDULER calls again. Here are the details:

[SCHEDULER]
1. Newday at 0 o'clock 10 Minutes ioA.exe NEWDATE
2. searchlog at 4 o'clock 0 Minutes ioA.exe SEARCHLOGCREATE


The first script made ioftpd crash so hard that no dump files were created and ioftpd was DELETED. It was not in the directory anymore. The second time , after I have copied it back from the RAR file into the /sysdirectory and restartet it, it crashed again on searchlog at 4am in the morning.

TINYDUMP-20181221.040022-27124.dmp - 56kb
MINIDUMP-20181221.040022-27124.dmp - 643kb

ioFTPD File - size: 475 KB (486.912 Bytes), date: 18.12.2018 21:05:24
/lib directory is a unchanded copy out of the RAR archive belonging to the abobe ioftpd.exe

Test machine: Windows 10

CRASH-Log.txt
Fri Dec 21 04:00:22 2018 - ioFTPD v7.7.3
Unhandled exception: Access Violation (0xC0000005)
Address: 0x004114A9 [attempting to read data from 0x00000006]
PID=27124, PATH=C:\ioFTPD\system\ioFTPD.exe
Thread ID: 29580

System information:
Processor #0 Name: Intel(R) Core(TM)2 Duo CPU E8500 @ 3.16GHz
Processor #0 Identifier: Intel64 Family 6 Model 23 Stepping 10
Processor #1 Name: Intel(R) Core(TM)2 Duo CPU E8500 @ 3.16GHz
Processor #1 Identifier: Intel64 Family 6 Model 23 Stepping 10
OS: Windows 6.2 (build 9200)
Registry: Windows 10 Enterprise
Decoded: Vista
Page size: 4096
Notice: Unable to acquire Debug Rights


The SEARCHLOGCREATE ioA script is configured to scan a huge harddrive with alot of directories and file which it puts into a plain text file search.log. The script DID run and it managed to create the search.log file which became 56MB in size. It seems the script crashed ioftpd AFTER it finished its work.


I will send you the dump files per E-Mail.

UltraFine

P.S. I tried the same test on my Win7-64 machine and it worked without a crash. The only difference was that I had a very little directory tree to scan for search.log on win7 machine. Maybe like 50 directories and sub-dirs. It produced a searchlog of 20kb. The searchlog on Win10 machine was way bigger and produced 56MB.

Prodigy
12-21-2018, 08:40 AM
Ok so 'reliability' has increased for a while, sounds good, i will wait for the crash dumps.

Prodigy
12-21-2018, 10:31 AM
So i have found that Visual Studio 2013 managed to compile ioFTPD without any code modifications, so here it is if you want to try again.

Now naming it ioFTPD 7.7.4


https://mega.nz/#!4IsTzaIL!aiJPIG1QS0OANbe8AyIjUy2Fn5pYaYCihdq4IdX HeT8


As usual, replace the ..\lib and ..\system folder with mine.

UltraFine
12-21-2018, 11:25 AM
So i have found that Visual Studio 2013 managed to compile ioFTPD without any code modifications, so here it is if you want to try again.

Now naming it ioFTPD 7.7.4


https://mega.nz/#!4IsTzaIL!aiJPIG1QS0OANbe8AyIjUy2Fn5pYaYCihdq4IdX HeT8


As usual, replace the ..\lib and ..\system folder with mine.

Sure, I will re-test this one for you. Though I would say a version number that contains compilation date like 7.7.4.21122018 would be the best. Because when you recompile the same version several times and I test the same major version, I still can mess up the files of different dates.

Ultra

UltraFine
12-24-2018, 04:17 AM
So i have found that Visual Studio 2013 managed to compile ioFTPD without any code modifications, so here it is if you want to try again.

Now naming it ioFTPD 7.7.4


https://mega.nz/#!4IsTzaIL!aiJPIG1QS0OANbe8AyIjUy2Fn5pYaYCihdq4IdX HeT8



As usual, replace the ..\lib and ..\system folder with mine.

Yes. This version that is marked as 7.7.4 compiled on 21.12.2018 at 16:23:50 works well. Both scheduler events (ioA NEWDATE, SEARCHLOGCREATE) ran without a problem. I tested this on two machines. Win7 and Win10.

Cheers

Henkie2
12-27-2018, 06:12 AM
Last version runs great even faster on speeds :)
Thanks once again, also tested latest eggdrop only that one gives errors;
- cant find logs ioftpd.logs (dZSbot needs to read logs)
- need to add this line init.tcl or eggdrop wont start here at all : set ::tcl_library "./lib/tcl8.5"

Prodigy
12-27-2018, 03:16 PM
Thanks, it wouldn't be possible without you guys testing it out, currently trying to support TLS v1.2 by using LibreSSL, still testing by UltraFine.

@Henkie2
By overall functionality of eggdrop is working fine so far?

Prodigy
12-29-2018, 12:40 AM
ioFTPD is probably in the world the first ever FTP Server which supports TLS 1.3!.
Curl output :

* Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to 127.0.0.1 (127.0.0.1) port 5420 (#0)
< 220 FTP Server ready.
> AUTH SSL
< 234 AUTH SSL successful.
* Cipher selection: TLS13-CHACHA20-POLY1305-SHA256
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* Server certificate:
* subject: CN=ioFTPD
* start date: Dec 27 13:21:15 2018 GMT
* expire date: Dec 25 13:21:15 2028 GMT
* issuer: CN=ioFTPD
* SSL certificate verify result: self signed certificate (18), continuing anyway.
> USER ioFTPD
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
< 331 Password required for ioFTPD.
> PASS ioFTPD
< 230-User ioFTPD from 192.150.14.69, welcome to our FTP server.
< 230-
< 230-ioFTPD activity:
< 230-
< 230- Users online : 2
< 230- Active transfers : 0
< 230- Uptime : 29 secs
< 230-
< 230-Enjoy your stay.
< 230 User ioFTPD logged in.
> PBSZ 0
< 200 PBSZ 0 successful.
> PROT P
< 200 Protection set to: Private.
> PWD
< 257 "/" is current directory.
* Entry path is '/'
> EPSV
* Connect data stream passively
< 500 'EPSV': Command not understood
* Failed EPSV attempt. Disabling EPSV
> PASV
* ftp_perform ends with SECONDARY: 0
< 227 Entering Passive Mode (127,0,0,1,21,48)
* Trying 127.0.0.1...
* TCP_NODELAY set
* Connecting to 127.0.0.1 (127.0.0.1) port 5424
* Connected to 127.0.0.1 (127.0.0.1) port 5420 (#0)
> TYPE I
< 200 Type set to I.
> SIZE test.log
< 213 5079
> RETR test.log
< 150 Opening BINARY mode data connection for test.log (5079 bytes) using SSL/TLS.
* Maxdownload = -1
* Getting file with size: 5079
* Doing the SSL/TLS handshake on the data stream
* Cipher selection: TLS13-CHACHA20-POLY1305-SHA256
* SSL re-using session ID
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* Server certificate:
* subject: CN=ioFTPD
* start date: Dec 27 13:21:15 2018 GMT
* expire date: Dec 25 13:21:15 2028 GMT
* issuer: CN=ioFTPD
* SSL certificate verify result: self signed certificate (18), continuing anyway.
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing


None of the any FTP Client for windows supporting TLS 1.3, except curl :-(

R34nimator
01-24-2019, 08:20 PM
Has this been tested on Windows Server 2016 Data Center

shift
01-11-2020, 02:37 PM
Prodigy does youre latest ioftpd work with youre beta of ioninja beta 6 ?

jackupwick
01-19-2020, 10:19 PM
Still its working fine and have latest updates?

Prodigy
02-03-2020, 11:58 PM
@jackupwick

Join the ioFTPD discord server, https://discord.gg/j6GGPXg .