View Single Post
Old 07-28-2011, 07:24 PM  
Yil
Too much time...
 
Join Date: May 2005
Posts: 1,194
Default

o_dog: You mean something like the "opaque" field in the userfile? 255 bytes of whatever you want designed for script use - just make sure there isn't a return char in there as the line break would probably break the stupid userfile parser... I suggested scripts store trivial things in there using TCL style quoting and use a <name> <value> pair setup so multiple scripts could get along with each other. I was personally thinking of using [array get/set]. This field can also be modified via 'site change opaque'.

I read the ninja thread first and mentioned how you can get your x-dupe to easily override the one coming in v8. I wasn't sure if I was going to preserve the x-dupe level across logins though so at the moment it doesn't even try and users would need to add it to the list of commands to enter after connecting.

I'd love a bunch of new fields to the userfile for things like banned time/reason, etc but I'm really trying to avoid that because that means updating nxMyDB as well. I think we need a few more fields so I can do a whole bunch at once. Please feel free to chip in whatever fields you think we might need in the future. I would love dynamically created fields, but that would totally break nxMyDB and it's easy enough to use SQLite or a simple text file to store stuff.

On a related note, I've played with storing the CRC32 value for each file in the .ioFTPD file (there's 4 bytes left free to do so) so you can enable a .ini option to make the server compute the CRC32 value of downloaded files and compare it after the file is sent, sort of like drFTPD does as an added check. The TCL interface to record the CRC32 value isn't implemented yet but it should be trivial to just pass the value already passed to the script for upload events, or re-compute with the existing TCL CRC32 function it you modify the file and need its new value.
Yil is offline   Reply With Quote