This matches how they're described in MS-RDPBCGR. Also add the proper
constant name as comments.
Signed-off-by: Henrik Andersson <hean01@cendio.com>
Signed-off-by: Thomas Nilefalk <thoni56@cendio.se>
Reuse of g_exit_mainloop can occur at various situations
such as on redirection, when a new connection is initialized.
If you call rdp_loop with this flag set, things will not work as
you'd expect.
Fixes issue #228
Signed-off-by: Henrik Andersson <hean01@cendio.com>
Signed-off-by: Karl Mikaelsson <derfian@cendio.se>
Renamed to function to match the PDU it was processing. Removed the
function from proto.h and made it static - there's nothing calling
this from outside of rdp.c. Fixed the logging output to output the
error code instead of the pointer value.
This adds support for resizing the RDP session dynamically based on
the window size. Some complicated logic has been added to avoid
sending excessive amounts of resize requests to the RDP server.
When supported, this resize mechanism should use the RDPEDISP way of
signalling the server to initiate a Deactivate/Activate sequence, but
rdesktop will fall back on Disconnect/Reconnect if RDPEDISP is not
supported by the server.
ui_select has been refactored and most functionality has been broken
out into three new functions, simplifying ui_select into a loop.
Signed-off-by: Henrik Andersson <hean01@cendio.com>
Signed-off-by: Karl Mikaelsson <derfian@cendio.se>
Signed-off-by: Thomas Nilefalk <thoni56@cendio.se>
The cursor-handling code already handles larger pointer sizes. This
advertises that rdesktop has the capability to handle large cursors
and adjusts the maximum size of fragmented packets to suit the large
cursor requirements.
Solves issue #173.
g_bitmap_compression is a global variable scattered through the code
but only accessed and used in one place; rdp_out_bitmap_caps().
Demoted it to localvariable and replaced with hardcoded value.
Fragmented updates are concatenated into temporary streams (one per
update type) that are processed when receiving an update with the
FASTPATH_FRAGMENT_LAST bit set.
Solves problem with hidden cursors at login screen (part of
issue #165)
Signed-off-by: Karl Mikaelsson <derfian@cendio.se>
Signed-off-by: Henrik Andersson <hean01@cendio.se>
The use of redirection cookie was never done due to global
g_redirect flag was cleared on the wrong place. This fixes
the problem with dual authentication prompts when redirect
to another server upon connect.
Fixes issue #18
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.
The logon packets wants a mandatory null termination
to be written to stream if not string is available.
The current design was to do if statements at those
points to handle this. Refactored that code into
function rdp_out_unistr_mandatory_null() for a
cleaner code when building up the packets.
Commit 78a4f41, forces the caller to handle the write of empty string byte
where protocol needs it. This commit fixes the RDP V4 logon packet which needs
a mandatory 2 bytes null terminator to be written if strings are empty.
Fixes issue #67
within rdp_connect() loop.
Fixes silent exits of rdesktop when receiving a redirection
PDU before license handling which is a corner case appeared
while using CredSSP+Kerberos.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1825 423420c4-83ab-492f-b58f-81f9feb106b5
This fix a bug where redirection using CredSSP fails to SSO
due to wrong password sent to server and asks for a correct one.
The source to this issue was that the password was zeroed before
the actual redirection is handled.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1795 423420c4-83ab-492f-b58f-81f9feb106b5
The process of packets in rdp_connect assumes that the
first packets are demand active to set g_rdp_shareid which
is not true. In case when CredSSP+Kerberos is in use an
enhanced redirection PDU packet is sent before the demande
active PDU.
This fixes the problem with rdesktop silently exists in
the case above.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1794 423420c4-83ab-492f-b58f-81f9feb106b5
This is needed on 2012r2 were server will not disconnect
a rdp connection after a redirect packet.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1777 423420c4-83ab-492f-b58f-81f9feb106b5
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
- Removed unused LOGON_BLOB code
- Removed AUTOLOGON, if password is null no logon will be
performed anyway.
- Comments of fields written to packet
- Clarified string handling difference between TS_INFO_PACKET
and TS_EXTENDED_INFO_PACKET
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1766 423420c4-83ab-492f-b58f-81f9feb106b5