View Single Post
Old 10-27-2009, 08:39 AM  
SysOp
Junior Member
 
Join Date: May 2009
Posts: 12
Default

Quote:
Originally Posted by Yil View Post
Hmm, I'll have to get back to you about the post user event after examining the code.
Okay and thank you very much.

Quote:
Originally Posted by Yil View Post
Modifying the OnlineData structure or what each field means is walking into a minefield because that's the shared memory structure used by EXEC scripts so I wouldn't recommend that unless you know you aren't going to use 3rd party compiled scripts... I would dearly love to update the structure with additional information but it would break a lot of stuff that I'm not willing to break yet.
hmmm... I don't quite understand this. In fact, I added "CHAR szClientType[MAX_IDENT];" into "struct _ONLINEDATA" and its relevant codes. It was compiled okay and it keeps running fine without any error. So, I have never modified any existing variables of OnlineData struct. I don't see why it's bad. But yes, I haven't use any EXEC scripts, all scripts are in TCL language.

Quote:
Originally Posted by Yil View Post
Now that I think about it, there really isn't an easy solution to getting the total file transferred byte count for a session because the On[Upload|Download][Complete|Error] style events don't tell you if the file was resumed or not which means you'd have to track that yourself which is annoying. I'll have to see if I can't provide that information via a TCL call/variable during transfer event callbacks. I would expect that to only cover data transfers though and not directory listings, if you want listings as well let me know... Though you might be able to look at the userfile transfer stats in the callback if you're careful to handle the case of multiple user transfers.
Firstly I think what I did probably is the easiest change to current codes to partially do this. Can you give me a hint that how to modify the source to let ioFTPd to update i64TotalBytesTransfered's value when a transfer is aborted or completed.
In theory, stats will do this. But when the user is on two or more concurrent sessions, stats are useless.
Any yes, i'll really appreciate it if you could offically add this variable, and I don't really care whether listings count or not in this variable. They are all okay.

Quote:
Originally Posted by Yil View Post
ClientType can be retrieved via a TCL call. Do you need this for an EXEC script? If so I can probably add a cookie so you can use it on the EXEC line in the .ini file along with the CID to let a script keep track of that info...
Nope, I don't need this to be added to cookies. A TCL call that I can get the CLNT of a specified CID will work fine.

And finally, I believe that "Deny_Encrypted_Data" is an important switch to save server's CPU resource.

p.s. I've noticed that I can upload attachments here. So anyway, I uploaded my modified source files. Every parts I've modified have their comments.
===
it keeps telling me exceeding quota even ultra compression level is used. So I used .7z and renamed .7z to .zip.
Attached Files
File Type: zip ioFTPD-v7.0.0-src_modified-by-JGC_091019.zip (334.2 KB, 0 views)
SysOp is offline   Reply With Quote