Rev 3789 | Rev 3792 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3789 | Rev 3790 | ||
---|---|---|---|
Line 121... | Line 121... | ||
121 | mcall connect, [socketnum], sockaddr1, 18 |
121 | mcall connect, [socketnum], sockaddr1, 18 |
122 | mov [status], STATUS_CONNECTING |
122 | mov [status], STATUS_CONNECTING |
Line 123... | Line 123... | ||
123 | 123 | ||
Line -... | Line 124... | ||
- | 124 | invoke con_write_asciiz, str12 |
|
- | 125 | ||
124 | invoke con_write_asciiz, str12 |
126 | mov [offset], 0 |
Line -... | Line 127... | ||
- | 127 | ||
- | 128 | wait_for_servercommand: |
|
125 | 129 | ||
- | 130 | cmp [offset], 0 |
|
- | 131 | je .receive |
|
- | 132 | mov esi, [offset] |
|
- | 133 | mov edi, s |
|
Line 126... | Line 134... | ||
126 | wait_for_servercommand: |
134 | mov ecx, [size] |
- | 135 | add ecx, esi |
|
127 | 136 | jmp .byteloop |
|
128 | ; invoke con_write_asciiz, str_dbg |
137 | |
129 | 138 | ; receive socket data |
|
130 | ; receive socket data |
139 | .receive: |
131 | mcall recv, [socketnum], buffer_ptr, BUFFERSIZE, 0 |
140 | mcall recv, [socketnum], buffer_ptr, BUFFERSIZE, 0 |
Line 132... | Line 141... | ||
132 | inc eax |
141 | inc eax |
Line 133... | Line 142... | ||
133 | jz socket_error |
142 | jz socket_error |
134 | dec eax |
143 | dec eax |
135 | jz wait_for_servercommand |
144 | jz wait_for_servercommand |
136 | 145 | ||
Line 149... | Line 158... | ||
149 | cmp al, 13 ; just ignore this byte |
158 | cmp al, 13 ; just ignore this byte |
150 | je .byteloop |
159 | je .byteloop |
151 | stosb |
160 | stosb |
152 | jmp .byteloop |
161 | jmp .byteloop |
153 | .got_command: ; we have a newline check if its a command |
162 | .got_command: ; we have a newline check if its a command |
- | 163 | cmp esi, ecx |
|
- | 164 | je .no_more_data |
|
- | 165 | mov [offset], esi |
|
- | 166 | sub ecx, esi |
|
- | 167 | mov [size], ecx |
|
- | 168 | jmp .go_cmd |
|
- | 169 | .no_more_data: |
|
- | 170 | mov [offset], 0 |
|
- | 171 | .go_cmd: |
|
154 | xor al, al |
172 | xor al, al |
155 | stosb |
173 | stosb |
Line 156... | Line -... | ||
156 | - | ||
157 | sub edi, s ; length |
- | |
158 | push edi |
- | |
159 | 174 | ||
160 | invoke con_set_flags, 0x03 ; change color |
175 | invoke con_set_flags, 0x03 ; change color |
161 | invoke con_write_asciiz, s ; print servercommand |
176 | invoke con_write_asciiz, s ; print servercommand |
162 | invoke con_write_asciiz, str4 ; newline |
177 | invoke con_write_asciiz, str4 ; newline |
Line 163... | Line -... | ||
163 | invoke con_set_flags, 0x07 |
- | |
164 | 178 | invoke con_set_flags, 0x07 |
|
Line 165... | Line 179... | ||
165 | pop ecx |
179 | |
Line 166... | Line 180... | ||
166 | jmp server_parser ; parse command |
180 | jmp server_parser ; parse command |
Line 186... | Line 200... | ||
186 | je cmd_list |
200 | je cmd_list |
Line 187... | Line 201... | ||
187 | 201 | ||
188 | cmp dword[s], "help" |
202 | cmp dword[s], "help" |
Line -... | Line 203... | ||
- | 203 | je cmd_help |
|
- | 204 | ||
- | 205 | cmp dword[s], "cwd " |
|
189 | je cmd_help |
206 | je cmd_cwd |
190 | 207 | ||
Line 191... | Line 208... | ||
191 | invoke con_write_asciiz, str_unknown |
208 | invoke con_write_asciiz, str_unknown |
Line 278... | Line 295... | ||
278 | str_help db "available commands:",10,10 |
295 | str_help db "available commands:",10,10 |
279 | db "help list",10,0 |
296 | db "help list",10,0 |
Line 280... | Line 297... | ||
280 | 297 | ||
Line 281... | Line -... | ||
281 | str_open db "opening data socket",10,0 |
- | |
282 | - | ||
283 | str_dbg db 'debug',10,0 |
- | |
284 | str_dbg2 db 'debug2',10,0 |
298 | str_open db "opening data socket",10,0 |
285 | 299 | ||
286 | sockaddr1: |
300 | sockaddr1: |
287 | dw AF_INET4 |
301 | dw AF_INET4 |
288 | .port dw 0x1500 ; 21 |
302 | .port dw 0x1500 ; 21 |
Line 324... | Line 338... | ||
324 | i_end: |
338 | i_end: |
Line 325... | Line 339... | ||
325 | 339 | ||
326 | active_passive db ? |
340 | active_passive db ? |
327 | socketnum dd ? |
341 | socketnum dd ? |
328 | datasocket dd ? |
342 | datasocket dd ? |
- | 343 | buffer_ptr rb BUFFERSIZE |
|
329 | buffer_ptr rb 2*BUFFERSIZE |
344 | buffer_ptr2 rb BUFFERSIZE |
- | 345 | status db ? |
|
- | 346 | offset dd ? |
|
Line 330... | Line 347... | ||
330 | status db ? |
347 | size dd ? |
Line 331... | Line 348... | ||
331 | 348 |