Commit Graph

155 Commits

Author SHA1 Message Date
Henrik Andersson
b25f93c0e6 Run indentation script 2017-08-15 10:50:08 +02:00
Pierre G. Bogossian
9889ed6457 Support extended mouse buttons 4 and 5 (ie back/forward buttons) 2017-07-09 16:56:30 +02:00
Henrik Andersson
87d8d123b8 Rework the logging system
This commit will add a logging system to solve the problem that
one actually need to recompile rdesktop from source to enable
different debug logging.

- Same logging api  for all kind of logging and messages to
   end user.

- Adding -v for verbose output when running rdesktop.

- All messages are logged into a subject and with a type, eg:

     logger(Keyboard, Notice, "Autos-electing %s based on locale.", locale);

- Debug logging is enabled trough a environment variable RDEKSTOP_DEBUG,
  which specifies subjects of interest, comma separated. There is a special
  subject named All which includes all subject for debug loggin. There is also
  a simple logic opeartor '!' = NOT which can be used in combination like:

    RDESKTOP_DEBUG=All,!Graphics,!Sound

  Which would give debug log output for All subject except Graphics and Sound.
2017-01-26 14:19:40 +01:00
Henrik Andersson
761cc053e2 Fixes a bug with Windows Server 2012 r2 and smartcard
redirection were the RDPDR channel is shutdown by server.

The RDPDR channel is shutdown by server when responses from
abdonend iorequests are received on a reinitialized RDPDR
channel. This fix adds epochs for RDPDR channel and tags 
iorequest to specific epoch to handle abdonend iorequest.



git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1836 423420c4-83ab-492f-b58f-81f9feb106b5
2014-09-11 11:54:46 +00:00
Henrik Andersson
46a3684c27 Document the new seamless protocol command PERSISTENT
and implement the usage of the new command in rdesktop.

If a seamless command is specified the persistent mode
of the session will be changed to non-persistent.



git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1822 423420c4-83ab-492f-b58f-81f9feb106b5
2014-07-03 10:42:04 +00:00
Henrik Andersson
2ceb56e0d4 Added seamless_reset_state() and use it whenever a
new window is created. This fixes issues with seamless
protocol parser between reconnects.



git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1820 423420c4-83ab-492f-b58f-81f9feb106b5
2014-07-02 08:25:07 +00:00
Henrik Andersson
7ece007132 Fix indentation...
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1778 423420c4-83ab-492f-b58f-81f9feb106b5
2013-12-12 14:01:58 +00:00
Henrik Andersson
f0b6604347 Changed rdp_in_unistr() to make dynamic allocation of converted string
instead of using hardcoded buffer sizes and assumtion that conversion
just fits the size.



git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1773 423420c4-83ab-492f-b58f-81f9feb106b5
2013-12-06 12:43:08 +00:00
Henrik Andersson
58363c5351 - Added rd_create_ui() helper function
- Make sure that ui is created if processing demand active PDU
- Make sure we use precached bitmap cache again

This fixes bugs #367 and #368



git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1732 423420c4-83ab-492f-b58f-81f9feb106b5
2013-08-14 13:49:45 +00:00
Henrik Andersson
e6b10f6bcb Added tcp_ui_run() to prevent ui_select() push data on transport
which corrupts the stream and prevents a SSL reconnect to work.



git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1720 423420c4-83ab-492f-b58f-81f9feb106b5
2013-06-20 12:51:27 +00:00
Henrik Andersson
eced6ca821 Reconnect upon network failure, retry as long the autoreconnect
cookie is valid.



git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1707 423420c4-83ab-492f-b58f-81f9feb106b5
2013-04-12 06:46:07 +00:00
Henrik Andersson
be93803129 Intitial implementation of seamless connection sharing:
- Implementation of ctrl functionality were slaves can call
  a method into existing master process, more information is
  found in doc/ctrl.txt

- Implementation of new seamless SPAWN functionality so which
  is used by the ctrl to spawn processes in a seamless rdp session
  out of process.



git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1689 423420c4-83ab-492f-b58f-81f9feb106b5
2013-01-21 12:28:14 +00:00
Henrik Andersson
49d4996cd7 Added missing cssp_connect() declaration.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1682 423420c4-83ab-492f-b58f-81f9feb106b5
2012-11-29 07:42:54 +00:00
Henrik Andersson
9f174ea864 Added check if socket is connected to prevent sending disconnect
sequence to a closed socket.

git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1681 423420c4-83ab-492f-b58f-81f9feb106b5
2012-11-22 13:38:35 +00:00
Henrik Andersson
51014c91df Initial implementation of kerberos server autentication with CredSSP,
disabled by default and is enabled using argument --enable-credssp
to configure script.

git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1676 423420c4-83ab-492f-b58f-81f9feb106b5
2012-11-15 11:21:01 +00:00
Henrik Andersson
c44025aa18 Added support for protocol negotiation, this is a part of
adding Enhanced RDP Security support to rdesktop and brings
support for TLSv1 tunnel functionality.

git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1659 423420c4-83ab-492f-b58f-81f9feb106b5
2012-06-15 05:16:20 +00:00
Henrik Andersson
cdce9aae75 Run indentation script.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1658 423420c4-83ab-492f-b58f-81f9feb106b5
2012-01-16 06:35:13 +00:00
Henrik Andersson
8a52bf3a9b - Change licensestore to XDG directory ~/.local/share/rdesktop/licenses
- Added helper functions for SHA1 hash to hash the hostname used for
  licenses filename to hide information of what host user X connects 
  from in a infrastructure with NFS mounted home directories.



git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1644 423420c4-83ab-492f-b58f-81f9feb106b5
2011-11-21 10:51:08 +00:00
Henrik Andersson
161b4f215a - Remove force flag from rdpdr_init()
- Changes to always start the rdpdr channel
  due assumtions that this channel is supposed
  to always be up and running.



git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1607 423420c4-83ab-492f-b58f-81f9feb106b5
2011-01-03 13:12:17 +00:00
Henrik Andersson
9dd6bdab95 Fix for sound playback in Windows 2008R2 which requires
the rdpdr channel to be initiated. 
RDPEA nor RDPBCGR mention a relation between audio and
the rdpdr channel.

See. support request #2717082



git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1604 423420c4-83ab-492f-b58f-81f9feb106b5
2010-12-20 13:42:51 +00:00
Peter Åstrand
42928d7ae1 Properly reset sound subsystem when reconnecting due to screen size
change (RandR). 



git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1592 423420c4-83ab-492f-b58f-81f9feb106b5
2010-04-09 13:12:31 +00:00
Peter Åstrand
60e82d86ef Reset smart card state before reconnect. This fixes stability problems
when using smart cards in conjunction with RandR. 



git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1561 423420c4-83ab-492f-b58f-81f9feb106b5
2010-01-26 12:23:53 +00:00
Peter Åstrand
564175719c Need two more smart card prototypes, to avoid warnings.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1558 423420c4-83ab-492f-b58f-81f9feb106b5
2010-01-26 10:13:53 +00:00
Peter Åstrand
6ee9faeffc Added RandR support: If the specified geometry depends on the screen
size, and the screen size is changed, rdesktop will automatically
reconnect using the new screen size. This feature uses the previously
implemented autoreconnect feature. 

The new UI function ui_seamless_end() has been introduced, to make it
possible to resize in seamless mode as well. 



git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1556 423420c4-83ab-492f-b58f-81f9feb106b5
2010-01-20 09:59:47 +00:00
Peter Åstrand
ea2bdbc96b This patch is a re-work of patch r1538. One one hand, the plain old
behaviour of setting the session size in ui_init is not going to work,
due to xrandr, as pointed out in r1538. However, the approach
implemented in this revision doesn't work either: When the window is
created before the connection, this means that as soon as X11 events
are recieved, this is going to trigger RDP transmissions. For example,
a call to reset_modifiers_keys. But if the RDP connection is not
ready, the WTS is not prepared to handle such data. We must wait with,
for example, keyboard input until the connection is READY. OTOH, we
can't just ignore those X11 events; that might lead to that we are not
sending information that we need to send. 

So, it is actually better to wait with creating the window until we
have been connected. An additional advantage of this is that for the
load balancing / session directory case, there's no risk of confusion
of which RDP connection we are actually sending data to. 

The previous behaviour of creating the window after we have been
connected has been restored.

Since we still need to set connection data (currently screen size) on
a per connection basis, we need to create a new UI function for this.

Non-X11 backends need to implement this new function. 



git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1545 423420c4-83ab-492f-b58f-81f9feb106b5
2010-01-13 13:51:06 +00:00
Peter Åstrand
281d7c9f06 Changed license to GPLv3
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1534 423420c4-83ab-492f-b58f-81f9feb106b5
2010-01-12 08:31:06 +00:00
Peter Åstrand
440542c535 Elminate code duplication in rdp_reconnect and sec_connect.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1528 423420c4-83ab-492f-b58f-81f9feb106b5
2010-01-07 20:01:58 +00:00
Peter Åstrand
d00373436a Avoid code duplication in iso_connect/iso_reconnect.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1526 423420c4-83ab-492f-b58f-81f9feb106b5
2010-01-07 18:42:47 +00:00
Jay Sorg
fdcd8d7591 added new pointers
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1520 423420c4-83ab-492f-b58f-81f9feb106b5
2009-10-25 21:36:17 +00:00
Jay Sorg
c3dc159869 brush cache for > 2 color brushes
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1482 423420c4-83ab-492f-b58f-81f9feb106b5
2008-11-01 02:37:10 +00:00
Jay Sorg
f306257aa4 ran indent and removed some spaces at EOL
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1475 423420c4-83ab-492f-b58f-81f9feb106b5
2008-07-11 03:55:52 +00:00
Jay Sorg
88855ddcbf update the copyright year
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1474 423420c4-83ab-492f-b58f-81f9feb106b5
2008-07-11 03:51:23 +00:00
Jay Sorg
b59c4b92a6 added brush cache
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1473 423420c4-83ab-492f-b58f-81f9feb106b5
2008-07-11 03:35:24 +00:00
Peter Åstrand
8524a3fcf2 Applied patch:
[ 1715358 ] seamlessrdp window close


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1446 423420c4-83ab-492f-b58f-81f9feb106b5
2008-03-07 11:27:12 +00:00
Matt Chapman
2e16fa661d Add some more warnings and sanity checks.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1425 423420c4-83ab-492f-b58f-81f9feb106b5
2008-01-05 05:43:02 +00:00
Pierre Ossman
81a75745cb Implement support for icons in SeamlessRDP.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1412 423420c4-83ab-492f-b58f-81f9feb106b5
2007-06-18 12:00:34 +00:00
Jay Sorg
3067b9fc6a ran indent-all.sh
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1376 423420c4-83ab-492f-b58f-81f9feb106b5
2007-01-11 03:30:18 +00:00
Jay Sorg
6091381a81 prefix BOOL with RD_
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1371 423420c4-83ab-492f-b58f-81f9feb106b5
2007-01-08 04:47:06 +00:00
Jay Sorg
797df4fa02 copyright year update
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1364 423420c4-83ab-492f-b58f-81f9feb106b5
2007-01-04 05:39:39 +00:00
Jay Sorg
b670bdacfa RD_ prefix and win32 compatibility for core files
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1363 423420c4-83ab-492f-b58f-81f9feb106b5
2007-01-04 04:55:56 +00:00
Pierre Ossman
0dbec16985 Add experimental extension to the RDPSND protocol that allows recording.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1358 423420c4-83ab-492f-b58f-81f9feb106b5
2007-01-02 16:30:06 +00:00
Pierre Ossman
c6712a8945 Abstract select() handling in rdpsnd so that backends can do their thing
more correctly.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1345 423420c4-83ab-492f-b58f-81f9feb106b5
2006-12-07 15:23:45 +00:00
Michael Gernoth
c3f49ea246 more smartcard locking fixes
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1327 423420c4-83ab-492f-b58f-81f9feb106b5
2006-11-03 23:51:35 +00:00
Michael Gernoth
8419d91138 make sure to lock the datapath of rdpdr_send_completion to prevent
simultaneous access to shared variables in multiple threads


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1326 423420c4-83ab-492f-b58f-81f9feb106b5
2006-11-03 19:56:42 +00:00
Michael Gernoth
f37c871e8b Smartcard support by Alexi Volkov <alexi@pravex.kiev.ua> and additional
patches for smartcard-support by Jennings Jared <jared.jennings.ctr@eglin.af.mil>


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1308 423420c4-83ab-492f-b58f-81f9feb106b5
2006-11-01 20:52:01 +00:00
Peter Åstrand
6ac7e0a1be Prevent segfaults in out of memory conditions by checking the pointer returned from XGetImage.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1305 423420c4-83ab-492f-b58f-81f9feb106b5
2006-10-27 12:59:38 +00:00
Pierre Ossman
22d88645ff Rewrite the queue management a bit so that blocks are not completed until
they have finished playing. This also makes the queue system mandatory for
all backends.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1301 423420c4-83ab-492f-b58f-81f9feb106b5
2006-10-26 09:47:17 +00:00
Pierre Ossman
e882b6befd Now that the rdpsnp queue functions aren't marked inline, they should be
in proto.h.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1299 423420c4-83ab-492f-b58f-81f9feb106b5
2006-10-19 12:26:55 +00:00
Michael Gernoth
6e6853dff8 move sound-driver selection code in rdpsnd_init
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1271 423420c4-83ab-492f-b58f-81f9feb106b5
2006-09-21 19:00:11 +00:00
Michael Gernoth
99afd6a9f1 fix SunCC errors/warnings and configure-variable-usage (LIBS/LDFLAGS)
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1255 423420c4-83ab-492f-b58f-81f9feb106b5
2006-09-17 11:42:22 +00:00