ftpd: Add RMD command
This commit is contained in:
@@ -102,7 +102,7 @@ commands: ; all commands must be in uppercase
|
|||||||
; dd 'REIN', login_first, login_first, login_first, cmd_REIN
|
; dd 'REIN', login_first, login_first, login_first, cmd_REIN
|
||||||
; dd 'REST', login_first, login_first, login_first, cmd_REST
|
; dd 'REST', login_first, login_first, login_first, cmd_REST
|
||||||
dd 'RETR', login_first, login_first, login_first, cmdRETR
|
dd 'RETR', login_first, login_first, login_first, cmdRETR
|
||||||
; dd 'RMD', login_first, login_first, login_first, cmd_RMD
|
dd 'RMD', login_first, login_first, login_first, cmdDELE
|
||||||
; dd 'RNFR', login_first, login_first, login_first, cmd_RNFR
|
; dd 'RNFR', login_first, login_first, login_first, cmd_RNFR
|
||||||
; dd 'RNTO', login_first, login_first, login_first, cmd_RNTO
|
; dd 'RNTO', login_first, login_first, login_first, cmd_RNTO
|
||||||
; dd 'SITE', login_first, login_first, login_first, cmd_SITE
|
; dd 'SITE', login_first, login_first, login_first, cmd_SITE
|
||||||
@@ -458,9 +458,9 @@ cmdCWD:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
;------------------------------------------------
|
;------------------------------------------------
|
||||||
; "DELE"
|
; "DELE" & "RMD"
|
||||||
;
|
;
|
||||||
; Delete a file from the server.
|
; Delete a file/folder from the server.
|
||||||
;
|
;
|
||||||
;------------------------------------------------
|
;------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
@@ -469,16 +469,25 @@ cmdDELE:
|
|||||||
test [ebp + thread_data.permissions], PERMISSION_DELETE
|
test [ebp + thread_data.permissions], PERMISSION_DELETE
|
||||||
jz permission_denied
|
jz permission_denied
|
||||||
|
|
||||||
; Create path
|
mov edx, 4
|
||||||
cmp ecx, 1024 + 5
|
cmp byte[esi], 0x52 ; R
|
||||||
|
je @f
|
||||||
|
cmp byte[esi], 0x72 ; r
|
||||||
|
je @f
|
||||||
|
|
||||||
|
mov edx, 5
|
||||||
|
@@:
|
||||||
|
add edx, 1024
|
||||||
|
cmp ecx, edx
|
||||||
jae .err
|
jae .err
|
||||||
|
|
||||||
sub ecx, 5
|
sub edx, 1024
|
||||||
|
sub ecx, edx
|
||||||
jb .err
|
jb .err
|
||||||
|
|
||||||
call create_path
|
call create_path
|
||||||
dec edi
|
dec edi
|
||||||
lea esi, [ebp + thread_data.buffer + 5]
|
lea esi, [ebp + thread_data.buffer + edx]
|
||||||
mov ecx, 1024
|
mov ecx, 1024
|
||||||
cmp byte [esi], '/'
|
cmp byte [esi], '/'
|
||||||
jne .loop
|
jne .loop
|
||||||
|
|||||||
Reference in New Issue
Block a user