Rev 5011 | Rev 6436 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5011 | Rev 6394 | ||
---|---|---|---|
Line 46... | Line 46... | ||
46 | include '../../dll.inc' |
46 | include '../../dll.inc' |
47 | include '../../network.inc' |
47 | include '../../network.inc' |
Line 48... | Line 48... | ||
48 | 48 | ||
49 | include 'usercommands.inc' |
49 | include 'usercommands.inc' |
- | 50 | include 'servercommands.inc' |
|
Line 50... | Line 51... | ||
50 | include 'servercommands.inc' |
51 | include 'parser.inc' |
51 | 52 | ||
52 | start: |
53 | start: |
53 | ; initialize heap for using dynamic blocks |
54 | ; initialize heap for using dynamic blocks |
Line 120... | Line 121... | ||
120 | jz done |
121 | jz done |
121 | ; reset color back to grey and print newline |
122 | ; reset color back to grey and print newline |
122 | invoke con_set_flags, 0x07 |
123 | invoke con_set_flags, 0x07 |
123 | invoke con_write_asciiz, str_newline |
124 | invoke con_write_asciiz, str_newline |
Line 124... | Line 125... | ||
124 | 125 | ||
125 | resolve: |
126 | no_resolve: |
Line 126... | Line 127... | ||
126 | mov [sockaddr1.port], 21 shl 8 |
127 | mov [sockaddr1.port], 21 shl 8 |
127 | 128 | ||
128 | ; delete terminating '\n' |
129 | ; delete terminating '\n' |
Line 339... | Line 340... | ||
339 | jmp wait_for_usercommand |
340 | jmp wait_for_usercommand |
Line 340... | Line 341... | ||
340 | 341 | ||
341 | 342 | ||
- | 343 | .connected: |
|
- | 344 | ; request username |
|
- | 345 | cmp [use_params], 1 |
|
342 | .connected: |
346 | je .copy_user |
343 | ; request username |
347 | |
344 | invoke con_write_asciiz, str_user |
348 | invoke con_write_asciiz, str_user |
345 | mov dword[buf_cmd], "USER" |
349 | mov dword[buf_cmd], "USER" |
Line -... | Line 350... | ||
- | 350 | mov byte[buf_cmd+4], " " |
|
- | 351 | jmp .send |
|
- | 352 | ||
- | 353 | .copy_user: |
|
- | 354 | ; copy user name to buf_cmd |
|
- | 355 | mov edi, buf_cmd |
|
- | 356 | mov esi, param_user |
|
- | 357 | @@: |
|
- | 358 | lodsb |
|
- | 359 | stosb |
|
Line 346... | Line 360... | ||
346 | mov byte[buf_cmd+4], " " |
360 | cmp byte [esi-1], 0 |
347 | jmp .send |
361 | jne @b |
- | 362 | jmp .send |
|
- | 363 | ||
- | 364 | .needpass: |
|
348 | 365 | ; request password |
|
349 | 366 | cmp [use_params], 1 |
|
350 | .needpass: |
367 | je .copy_password |
351 | ; request password |
368 | |
- | 369 | invoke con_write_asciiz, str_pass |
|
- | 370 | mov dword[buf_cmd], "PASS" |
|
- | 371 | mov byte[buf_cmd+4], " " |
|
- | 372 | invoke con_set_flags, 0x00 ; black text on black background for password |
|
- | 373 | jmp .send |
|
- | 374 | ||
- | 375 | .copy_password: |
|
- | 376 | ; copy password to buf_cmd |
|
- | 377 | mov edi, buf_cmd |
|
- | 378 | mov esi, param_password |
|
- | 379 | @@: |
|
Line 352... | Line 380... | ||
352 | invoke con_write_asciiz, str_pass |
380 | lodsb |
353 | mov dword[buf_cmd], "PASS" |
381 | stosb |
- | 382 | cmp byte [esi-1], 0 |
|
- | 383 | jne @b |
|
354 | mov byte[buf_cmd+4], " " |
384 | |
355 | invoke con_set_flags, 0x00 ; black text on black background for password |
385 | .send: |
Line -... | Line 386... | ||
- | 386 | ; read string |
|
356 | 387 | cmp [use_params], 1 |
|
357 | .send: |
388 | je @f |
358 | ; read string |
389 | mov esi, buf_cmd+5 |
359 | mov esi, buf_cmd+5 |
390 | invoke con_gets, esi, 256 |
360 | invoke con_gets, esi, 256 |
391 | |
Line 545... | Line 576... | ||
545 | str_title db 'FTP client',0 |
576 | str_title db 'FTP client',0 |
546 | str_welcome db 'FTP client for KolibriOS v0.12',10 |
577 | str_welcome db 'FTP client for KolibriOS v0.12',10 |
547 | db 10 |
578 | db 10 |
548 | db 'Please enter ftp server address.',10,0 |
579 | db 'Please enter ftp server address.',10,0 |
Line -... | Line 580... | ||
- | 580 | ||
- | 581 | str_ftp db 'ftp://',0 |
|
549 | 582 | ||
550 | str_prompt db '> ',0 |
583 | str_prompt db '> ',0 |
551 | str_resolve db 'Resolving ',0 |
584 | str_resolve db 'Resolving ',0 |
552 | str_newline db 10,0 |
585 | str_newline db 10,0 |
553 | str_err_resolve db 10,'Name resolution failed.',10,0 |
586 | str_err_resolve db 10,'Name resolution failed.',10,0 |
Line 678... | Line 711... | ||
678 | buf_buffer2 rb BUFFERSIZE+1 |
711 | buf_buffer2 rb BUFFERSIZE+1 |
679 | buf_cmd rb 1024 ; buffer for holding command string |
712 | buf_cmd rb 1024 ; buffer for holding command string |
Line 680... | Line 713... | ||
680 | 713 | ||
Line -... | Line 714... | ||
- | 714 | path rb 1024 |
|
- | 715 | ||
- | 716 | use_params db 0 |
|
- | 717 | param_user rb 1024 |
|
- | 718 | param_password rb 1024 |
|
- | 719 | param_server_addr rb 1024 |
|
681 | path rb 1024 |
720 | param_path rb 1024 |