next mod ioB 2.0 r1 will announce dual upload in same sfv.. and kick the uploader form site.
Quote:
(DoS) [DUAL UPLOAD] iXi/SiTEOP try'd to upload two times in dvdr/test2.
|
the following files are needed (can be found @ scripts section):
- ioB 2.0 r1 by Harm
- ioNODUAL.itcl by _tUFF
Since there are to much changes needed in ioNODUAL.itcl by _tUFF ill post the complett changed code here i hope that issnt a problem..
create file: ioNODUAL.itcl
PHP Code:
###; ioTOOLS.ioNODUALUP.itcl v0.4 by _tUFF (01/02/2006) ioFTPD 5.8.5r+
###; changelog...
###; 0.1 - bored, noticed a request for a script to stop dual uploading on the same sfv
###; 0.2 - ignore certain directories, dZSbot friendly feature requests added
###; 0.3 - fixed the directory ignore
###; 0.4 - changed for ioB 2.0 r1 announce!
###; install...
###; add the follow line under [FTP_Pre-Command_Events] in your ioftpd.ini and remember to site config rehash
###; stor = TCL ..\scripts\ioBanana\ioNODUAL.itcl
###; dont modify these!
set user [resolve uid $uid]
set grp [resolve gid $gid]
set release [string range [string range $pwd 1 end-1] [expr [string first "/" [string range $pwd 1 end-1]] +1 ] end]
###; settings...
###; nderror - the error message you want the user to see when he attempts to upload more than once in the same directory
###; ndignore - VFS directoried to ignore for dual up
set nderror "dont dual upload in the same directory muppet!"
set ndkick 1
set ndignore {
"_Groups"
"_Requests"
"_Speed"
"_Private"
}
global args uid gid cid ioerror pwd
set who ""
set ignore 0
if {[client who init "UID" "VIRTUALPATH" "ACTION"] == 0} {
while { 1 } {
set data [client WHO FETCH]
if {$data == ""} {break}
lappend who $data
}
}
foreach entry $who {
if {[string match "$uid" [lindex $entry 0]]} {
set nduid [lindex $entry 0]
set ndvfs [lindex $entry 1]
set ndact [lindex $entry 2]
foreach ignored $ndignore {
if {[string match -nocase "*$ignored*" $ndvfs]} {set ignore 1}
}
if {$ignore != 1} {
if {[string match -nocase "stor" [lindex $ndact 0]] || [string match -nocase "appe" [lindex $ndact 0]]} {
if {[string match -nocase "$pwd" $ndvfs]} {
iputs -nobuffer "226 $nderror"
iputs -nobuffer "550 Command failed."
set ioerror 1
if {$ndkick} {client kill clientid $cid}
putlog "ioNODUAL: \"$user\" \"$grp\" \"$release\""
return 0
}
}
}
}
}
set ioerror 0
________________________________________
open ioBanana.tcl
search:
set enable(MP3CHK)
add lines:
###; ioNODUAL
set enable(ioNODUAL) 1
search:
set defaulttypes
add to set defaulttypes:
ioNODUAL
into the quotes "" !!
search:
set variables(VOTERESULT)
add line:
###; ioNODUAL
set variables(ioNODUAL) "%user %group %release"
search:
set ioBvar(redirect,WARCWIPE)
add line:
set ioBvar(redirect,ioNODUAL) "#ioBanana"
________________________________________
open ioB2.skin
search:
set announce(VOTERESULT)
add lines:
PHP Code:
###; ioNODUAL
set announce(ioNODUAL) "\[[c]4[b]DUAL UPLOAD[b][c]\] [b]%user[b]/%group try'd to upload two times in [b]%release[b]."
________________________________________
Thats all