Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2561 → Rev 2562

/kernel/branches/net/applications/ftpd/ftpd.asm
28,7 → 28,8
 
MODE_NOTREADY = 0
MODE_ACTIVE = 1
MODE_PASSIVE = 2
MODE_PASSIVE_WAIT = 2
MODE_PASSIVE_OK = 3
 
use32
db 'MENUET01' ; signature
44,6 → 45,8
purge mov,add,sub
include '../proc32.inc'
include '../dll.inc'
include '../struct.inc'
include '../libio.inc'
 
include '../network.inc'
include 'commands.inc'
131,14 → 134,27
.loop:
mcall 10
 
cmp [mode], MODE_PASSIVE_WAIT
jne @f
mcall accept, [passivesocknum], datasock, datasock.length
cmp eax, -1
je @f
mov [datasocketnum], eax
mov [mode], MODE_PASSIVE_OK
 
push str_datasock
call [con_write_asciiz]
@@:
 
mcall recv, [socketnum2], buffer, buffer.length
cmp eax, -1
je .loop
or eax, eax
jz .loop
push eax
 
mov byte[buffer+eax], 0
 
 
pushd 0x0a
call [con_set_flags]
 
213,7 → 229,19
 
str_logged_in db 'Login ok',10,10,0
str_pass_ok db 'Password ok - Logged in',10,10,0
str_pwd db 'Current directory is "%s"\n',0
str_err1 db 'ERROR: cannot connect to remote socket',10,10,0
str_err2 db 'ERROR: cannot open directory',10,10,0
str_datasock db 'Passive data socket connected!',10,10,0
 
 
str_mask db '*', 0
 
 
months:
dd 'Jan ','Feb ','Mar ','Apr ','May ','Jun '
dd 'Jul ','Aug ','Sep ','Oct ','Nov ','Dec '
 
filename db '.ini', 0
str_port db 'port', 0
str_ftpd db 'ftpd', 0
255,7 → 283,10
file.size , 'file_size' , \
file.open , 'file_open' , \
file.read , 'file_read' , \
file.close , 'file_close'
file.close , 'file_close' , \
file.find.first , 'file_find_first', \
file.find.next , 'file_find_next', \
file.find.close , 'file_find_close'
 
 
i_end:
266,11 → 297,12
; thread specific data
socketnum2 dd ?
state dd ?
home_dir rb 1024
home_dir db '/rd/1/',0
work_dir rb 1024
type db ?
mode db ? ; active/passive
 
passivesocknum dd ?
datasocketnum dd ?
 
datasock: