CVS: rdesktop proto.h,1.80,1.81 xkeymap.c,1.85,1.86 xwin.c,1.192,1.193
Peter Åstrand <[email protected]>
| Newsgroups | gmane.network.rdesktop.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/rdesktop/rdesktop
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13283
Modified Files:
proto.h xkeymap.c xwin.c
Log Message:
Protection against recursive sequences
Index: proto.h
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/proto.h,v
retrieving revision 1.80
retrieving revision 1.81
diff -C2 -d -r1.80 -r1.81
*** proto.h 4 Aug 2005 12:50:15 -0000 1.80
--- proto.h 4 Aug 2005 13:39:57 -0000 1.81
***************
*** 174,178 ****
key_translation xkeymap_translate_key(uint32 keysym, unsigned int keycode, unsigned int state);
void xkeymap_send_keys(uint32 keysym, unsigned int keycode, unsigned int state, uint32 ev_time,
! BOOL pressed);
uint16 xkeymap_translate_button(unsigned int button);
char *get_ksname(uint32 keysym);
--- 174,178 ----
key_translation xkeymap_translate_key(uint32 keysym, unsigned int keycode, unsigned int state);
void xkeymap_send_keys(uint32 keysym, unsigned int keycode, unsigned int state, uint32 ev_time,
! BOOL pressed, uint8 nesting);
uint16 xkeymap_translate_button(unsigned int button);
char *get_ksname(uint32 keysym);
Index: xkeymap.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/xkeymap.c,v
retrieving revision 1.85
retrieving revision 1.86
diff -C2 -d -r1.85 -r1.86
*** xkeymap.c 4 Aug 2005 12:51:44 -0000 1.85
--- xkeymap.c 4 Aug 2005 13:39:57 -0000 1.86
***************
*** 671,675 ****
void
xkeymap_send_keys(uint32 keysym, unsigned int keycode, unsigned int state, uint32 ev_time,
! BOOL pressed)
{
key_translation tr, *ptr;
--- 671,675 ----
void
xkeymap_send_keys(uint32 keysym, unsigned int keycode, unsigned int state, uint32 ev_time,
! BOOL pressed, uint8 nesting)
{
key_translation tr, *ptr;
***************
*** 704,709 ****
DEBUG_KBD(("Handling sequence element, keysym=0x%x\n",
(unsigned int) ptr->seq_keysym));
! xkeymap_send_keys(ptr->seq_keysym, keycode, state, ev_time, True);
! xkeymap_send_keys(ptr->seq_keysym, keycode, state, ev_time, False);
ptr = ptr->next;
}
--- 704,716 ----
DEBUG_KBD(("Handling sequence element, keysym=0x%x\n",
(unsigned int) ptr->seq_keysym));
!
! if (nesting++ > 32)
! {
! error("Sequence nesting too deep\n");
! return;
! }
!
! xkeymap_send_keys(ptr->seq_keysym, keycode, state, ev_time, True, nesting);
! xkeymap_send_keys(ptr->seq_keysym, keycode, state, ev_time, False, nesting);
ptr = ptr->next;
}
Index: xwin.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/xwin.c,v
retrieving revision 1.192
retrieving revision 1.193
diff -C2 -d -r1.192 -r1.193
*** xwin.c 2 Aug 2005 15:07:35 -0000 1.192
--- xwin.c 4 Aug 2005 13:39:57 -0000 1.193
***************
*** 1411,1415 ****
xkeymap_send_keys(keysym, xevent.xkey.keycode, xevent.xkey.state,
! ev_time, True);
break;
--- 1411,1415 ----
xkeymap_send_keys(keysym, xevent.xkey.keycode, xevent.xkey.state,
! ev_time, True, 0);
break;
***************
*** 1427,1431 ****
xkeymap_send_keys(keysym, xevent.xkey.keycode, xevent.xkey.state,
! ev_time, False);
break;
--- 1427,1431 ----
xkeymap_send_keys(keysym, xevent.xkey.keycode, xevent.xkey.state,
! ev_time, False, 0);
break;
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf