Rev 5717 | Rev 5722 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5717 | Rev 5720 | ||
---|---|---|---|
Line 16... | Line 16... | ||
16 | 16 | ||
17 | __DEBUG__ = 1 |
17 | __DEBUG__ = 1 |
Line 18... | Line 18... | ||
18 | __DEBUG_LEVEL__ = 2 |
18 | __DEBUG_LEVEL__ = 2 |
- | 19 | ||
Line 19... | Line 20... | ||
19 | 20 | BITS_PER_PIXEL = 8 ; 8, 16 24 |
|
Line 20... | Line 21... | ||
20 | BITS_PER_PIXEL = 8 ; 8, 16 24 |
21 | SERVERADDRLEN = 4096 |
Line 27... | Line 28... | ||
27 | dd 0x01 ; header version |
28 | dd 0x01 ; header version |
28 | dd START ; start of code |
29 | dd START ; start of code |
29 | dd I_END ; size of image |
30 | dd I_END ; size of image |
30 | dd IM_END ; memory for app |
31 | dd IM_END ; memory for app |
31 | dd IM_END ; esp |
32 | dd IM_END ; esp |
32 | dd 0x0, 0x0 ; I_Param , I_Path |
33 | dd serveraddr, 0x0 ; I_Param , I_Path |
Line 33... | Line 34... | ||
33 | 34 | ||
34 | include "../../macros.inc" |
35 | include "../../macros.inc" |
35 | include "../../debug-fdo.inc" |
36 | include "../../debug-fdo.inc" |
36 | include "../../proc32.inc" |
37 | include "../../proc32.inc" |
Line 66... | Line 67... | ||
66 | 67 | ||
Line 67... | Line 68... | ||
67 | TIMEOUT = 5 ; timeout in seconds |
68 | TIMEOUT = 5 ; timeout in seconds |
Line 68... | Line 69... | ||
68 | 69 | ||
69 | RECEIVE_BUFFER_SIZE = 8*1024*1024 ; 8 Mib |
70 | RECEIVE_BUFFER_SIZE = 8*1024*1024 ; 8 Mib |
70 | 71 | ||
71 | STATUS_INITIAL = 0 |
72 | STATUS_CONNECT = 0 |
72 | STATUS_CONNECTING = 1 |
73 | STATUS_CONNECTING = 1 |
73 | STATUS_REQ_LOGIN = 2 |
74 | STATUS_REQ_LOGIN = 2 |
Line 82... | Line 83... | ||
82 | STATUS_PROTO_ERR = 14 |
83 | STATUS_PROTO_ERR = 14 |
83 | STATUS_SECURITY_ERR = 15 |
84 | STATUS_SECURITY_ERR = 15 |
84 | STATUS_LIB_ERR = 16 |
85 | STATUS_LIB_ERR = 16 |
85 | STATUS_THREAD_ERR = 17 |
86 | STATUS_THREAD_ERR = 17 |
86 | STATUS_LOGIN_FAILED = 18 |
87 | STATUS_LOGIN_FAILED = 18 |
- | 88 | STATUS_SECURITY_ERR_C = 19 |
|
Line 87... | Line 89... | ||
87 | 89 | ||
Line 88... | Line 90... | ||
88 | BYTES_PER_PIXEL = (BITS_PER_PIXEL + 7) / 8 |
90 | BYTES_PER_PIXEL = (BITS_PER_PIXEL + 7) / 8 |
89 | 91 | ||
Line 106... | Line 108... | ||
106 | test eax, eax |
108 | test eax, eax |
107 | jz @f |
109 | jz @f |
108 | mov [status], STATUS_LIB_ERR |
110 | mov [status], STATUS_LIB_ERR |
109 | @@: |
111 | @@: |
Line -... | Line 112... | ||
- | 112 | ||
- | 113 | ; Check if we got a server address through parameters |
|
- | 114 | cmp byte[serveraddr], 0 |
|
- | 115 | je @f |
|
- | 116 | xor al, al |
|
- | 117 | mov edi, serveraddr |
|
- | 118 | mov ecx, SERVERADDRLEN |
|
- | 119 | repne scasb |
|
- | 120 | sub edi, serveraddr+1 |
|
- | 121 | mov [URLbox.size], edi |
|
- | 122 | mov [URLbox.pos], edi |
|
- | 123 | call open_connection |
|
- | 124 | @@: |
|
110 | 125 | ||
111 | ; Present the user with the GUI and wait for network connection |
126 | ; Present the user with the GUI and wait for network connection |
Line 112... | Line 127... | ||
112 | call draw_gui |
127 | call draw_gui |
113 | 128 | ||
Line 138... | Line 153... | ||
138 | mcall 0 ; draw window |
153 | mcall 0 ; draw window |
Line 139... | Line 154... | ||
139 | 154 | ||
Line 140... | Line 155... | ||
140 | mcall 12, 2 |
155 | mcall 12, 2 |
- | 156 | ||
141 | 157 | draw_framebuffer: |
|
142 | draw_framebuffer: |
158 | DEBUGF 1, "Drawing framebuffer\n" |
Line 143... | Line 159... | ||
143 | mcall 7, framebuffer_data, dword[screen], 0 |
159 | mcall 7, framebuffer_data, dword[screen], 0 |
144 | mov [update_framebuffer], 0 |
160 | mov [update_framebuffer], 0 |
Line 312... | Line 328... | ||
312 | .blue_shift db 6 ; blue-shift |
328 | .blue_shift db 6 ; blue-shift |
313 | db 0, 0, 0 ; padding |
329 | db 0, 0, 0 ; padding |
Line 314... | Line 330... | ||
314 | 330 | ||
315 | SetEncodings db 2 ; setEncodings |
331 | SetEncodings db 2 ; setEncodings |
316 | db 0 ; padding |
332 | db 0 ; padding |
- | 333 | db 0, 4 ; number of encodings |
|
317 | db 0, 3 ; number of encodings |
334 | ; db 0, 0, 0, 16 ; ZRLE |
318 | db 0, 0, 0, 1 ; Copyrect encoding |
335 | db 0, 0, 0, 15 ; TRLE |
- | 336 | db 0, 0, 0, 2 ; RRE |
|
319 | db 0, 0, 0, 2 ; RRE |
337 | db 0, 0, 0, 1 ; Copyrect encoding |
320 | db 0, 0, 0, 0 ; raw encoding |
- | |
321 | ; db 0, 0, 0, 5 ; HexTile |
- | |
322 | ; db 0, 0, 0, 15 ; TRLE |
- | |
323 | ; db 0, 0, 0, 16 ; ZRLE |
338 | db 0, 0, 0, 0 ; raw encoding |
Line 324... | Line 339... | ||
324 | .length = $ - SetEncodings |
339 | .length = $ - SetEncodings |
325 | 340 | ||
326 | FramebufferUpdateRequest db 3 |
341 | FramebufferUpdateRequest db 3 |
Line 347... | Line 362... | ||
347 | .ip dd 0 |
362 | .ip dd 0 |
348 | rb 10 |
363 | rb 10 |
Line 349... | Line 364... | ||
349 | 364 | ||
Line 350... | Line 365... | ||
350 | beep db 0x85, 0x25, 0x85, 0x40, 0 |
365 | beep db 0x85, 0x25, 0x85, 0x40, 0 |
351 | 366 | ||
352 | status dd STATUS_INITIAL |
367 | status dd STATUS_CONNECT |
353 | update_gui dd 0 |
368 | update_gui dd 0 |
- | 369 | mouse_dd dd 0 |
|
Line 354... | Line 370... | ||
354 | mouse_dd dd 0 |
370 | update_framebuffer dd 0 |
355 | update_framebuffer dd 0 |
371 | thread_id dd 0 |
356 | 372 | ||
Line 357... | Line 373... | ||
357 | deflate_buffer dd 0 |
373 | deflate_buffer dd 0 |
358 | deflate_length dd ? |
374 | deflate_length dd ? |
359 | deflate_str dd ? |
375 | deflate_str dd ? |
Line 360... | Line 376... | ||
360 | 376 | ||
361 | URLbox edit_box 235, 70, 20, 0xffffff, 0x6f9480, 0, 0, 0, 65535, serveraddr, mouse_dd, ed_focus, 0, 0 |
377 | URLbox edit_box 235, 70, 20, 0xffffff, 0x6f9480, 0, 0, 0, SERVERADDRLEN, serveraddr, mouse_dd, ed_focus, 0, 0 |
362 | USERbox edit_box 215, 90, 10, 0xffffff, 0x6f9480, 0, 0, 0, 127, username, mouse_dd, ed_focus, 0, 0 |
378 | USERbox edit_box 215, 90, 10, 0xffffff, 0x6f9480, 0, 0, 0, 127, username, mouse_dd, ed_focus, 0, 0 |
363 | PASSbox edit_box 215, 90, 30, 0xffffff, 0x6f9480, 0, 0, 0, 127, password, mouse_dd, ed_pass, 0, 0 |
379 | PASSbox edit_box 215, 90, 30, 0xffffff, 0x6f9480, 0, 0, 0, 127, password, mouse_dd, ed_pass, 0, 0 |
364 | 380 | ||
- | 381 | serverstr db "server:" |
|
- | 382 | userstr db "username:" |
|
365 | serverstr db "server:" |
383 | passstr db "password:" |
Line 366... | Line 384... | ||
366 | userstr db "username:" |
384 | connectstr db "Connect" |
367 | passstr db "password:" |
385 | loginstr db "Log in" |
368 | connectstr db "Connect" |
386 | cancelstr db "Cancel" |
369 | loginstr db "Log in" |
387 | okstr db "OK" |
370 | loginstr_e: |
388 | okstr_e: |
371 | 389 | ||
372 | sz_err_disconnected db "Server closed connection unexpectedly.", 0 |
390 | sz_err_disconnected db "The server has closed the connection unexpectedly.", 0 |
373 | sz_err_dns db "Could not resolve hostname.", 0 |
391 | sz_err_dns db "Could not resolve hostname.", 0 |
374 | sz_err_sock db "Could not open socket.", 0 |
392 | sz_err_sock db "Could not open socket.", 0 |
Line 375... | Line 393... | ||
375 | sz_err_connect db "Could not connect to the server.", 0 |
393 | sz_err_connect db "Could not connect to the server.", 0 |
Line 386... | Line 404... | ||
386 | dd sz_err_proto |
404 | dd sz_err_proto |
387 | dd sz_err_security |
405 | dd sz_err_security |
388 | dd sz_err_library |
406 | dd sz_err_library |
389 | dd sz_err_thread |
407 | dd sz_err_thread |
390 | dd sz_err_login_failed |
408 | dd sz_err_login_failed |
- | 409 | dd sz_err_security_c |
|
Line 391... | Line 410... | ||
391 | 410 | ||
392 | ; import |
411 | ; import |
393 | align 4 |
412 | align 4 |
Line 419... | Line 438... | ||
419 | 438 | ||
Line 420... | Line 439... | ||
420 | I_END: |
439 | I_END: |
Line -... | Line 440... | ||
- | 440 | ||
- | 441 | servername rb 64+1 |
|
- | 442 | ||
421 | 443 | serveraddr db 0 |
|
422 | servername rb 64+1 |
444 | rb SERVERADDRLEN |
Line 423... | Line 445... | ||
423 | 445 | ||
Line 452... | Line 474... | ||
452 | keymap_alt rw 128 |
474 | keymap_alt rw 128 |
453 | username rb 128 |
475 | username rb 128 |
454 | password rb 128 |
476 | password rb 128 |
455 | keys rd 32*2 ; DES keys for VNC authentication |
477 | keys rd 32*2 ; DES keys for VNC authentication |
Line 456... | Line 478... | ||
456 | 478 | ||
- | 479 | sz_err_security_c rb 512+1 |
|
457 | serveraddr rb 65536 |
480 | |
458 | receive_buffer rb RECEIVE_BUFFER_SIZE |
481 | receive_buffer rb RECEIVE_BUFFER_SIZE |
Line 459... | Line 482... | ||
459 | framebuffer_data rb 1280*1024*3 ; framebuffer |
482 | framebuffer_data rb 1280*1024*3 ; framebuffer |
460 | 483 |