ChangeLog:

nxdesktop-2.0.0-50

- Updated to reflect the changes to NXSetUnpackColormap(). Colormap
  data is sent compressed when connected to a 2.0.0 proxy which sup-
  ports the colormap encoding. When connected to an older proxy the
  code will use the NXSetUnpackColormapCompat() call.

- Updated to comply with the changes to NXGetControlParameters().

nxdesktop-2.0.0-49

- Updated messages in connecting and disconnecting phases to comply
  with standard message format.

nxdesktop-2.0.0-48

- Updated messages in connecting and disconnecting phases to comply
  with standard message format.

- Adjusted compliance with nxcompext-2.0.0-28.

nxdesktop-2.0.0-47-TOR1-CHL1

- Updated messages in connecting and disconnecting phases to comply
  with standard message format.

nxdesktop-2.0.0-47-TOR1

- Adjusted compliance with nxcompext-2.0.0-28.

nxdesktop-2.0.0-47

- Adjusted compliance with nxcompext-2.0.0-26.

nxdesktop-2.0.0-46

- The text cache handler was chanegd in order to not drop the session
  in case a bad request arrives. The request is just ignored, printing
  a warn in the logs.

nxdesktop-2.0.0-45

- Better congestion handler. This solves bug causing conections being
  dropped in situations of high congestion.

nxdesktop-2.0.0-44

- Updated SEC layer to match solved bugs in rdesktop regarding wrong
  certificates.

- Updated cache routines to RDP 5.2 style with persistent cache. This
  persistent cache is currently disabled pending further performance
  tests.

nxdesktop-2.0.0-43

- Corrected wrong #ifdef that would block clipboard operations with
  debug mode enabled.

- Removed obsolete and unused NX transport detection code.

- Removed unused include of shape extension headers.

- Removed references to float window mode.

- Disabled references to yet unused functions related to seamless mode
  to avoid compiler warnings.

nxdesktop-2.0.0-42

- Fixed bug in the RDP packet filter.

- Added call to NXTransFlush() with type parameter NX_FLUSH_IDLE when
  the RDP read loop is exausted.

- Updated to comply with the changes in the NX function prototypes in
  nxcomp-2.0.0-48.

nxdesktop-2.0.0-41

- Removed unused code related to old seamless mode.

- Added RDP filters to improve data traffic caused by OpenOffice when
  it's performing operations like paging extensive files.

- Added congestion handling debug routines.

nxdesktop-2.0.0-40

- Fixed compilation problem with flush_sound() function in case of
  sound redirection is disabled.

nxdesktop-2.0.0-39

- Sequence of sound redirection re-worked to follow the RDP requests
  sequence that requires the device to be oppened, set, written to and
  closed at each sound sequence emmited.

- Added flush function to the sound buffer to allow clean it when the
  conection is requered to be closed by then RDP server.

- Created debug code to dump the raw sound packages used to compare
  the result with the other methods.

nxdesktop-2.0.0-38

- Solved bug that wasn't correctly computing the size of the sound
  buffer.

- Added volume control based on esd mixer routines.

- Added stream id for better control of stream pan (left and right
  channels volume).

nxdesktop-2.0.0-37

- Audio format adjusts to be compatible with esd are done.

- The right tokens to adjust the remote server audio format, buffers
  size, bitrate, et,c are sent and accepted by the remote esd, based
  on libesd code.

- The audio stream seens to be correctly written to the socket but no
  audio is actually heard. This can be related to the volume control
  as the windows server acts as if the sound is been played.

- Some code clean up.

nxdesktop-2.0.0-36

- Audio formats negotiation with the RDP server is functional. Still
  need to make esd_play_stream compatible to effectively play audio.

- Included seamless functions. They are not integrated yet but just
  added to the branch and compilation process.

nxdesktop-2.0.0-35

- Reading and writting to the channel created using NXTransChannel()
  works. The remote esd server accepts and correctly responds to the
  authentication and audio format requests.

nxdesktop-2.0.0-34

- Updated to comply with the changes in the NX function prototypes in
  nxcomp-2.0.0-41.

nxdesktop-2.0.0-33

- Corrected wrong parameter in warning routine of sound channel which
  removes a compiler warning.

nxdesktop-2.0.0-32

- The parameters parser now accepts "kbtype" or "keyboard" from the
  options file. This implements FR03D01341.

nxdesktop-2.0.0-31

- Added handler for NXSetDisplayFlushHandler();

- Simplified initialization of the media channel.

- Added internal function to send authentication token to the remote
  esd.

nxdesktop-2.0.0-30

- Changed the configure script to correctly support the changes in the
  sound support.

- Added lenght test in clipboard buffer which could cause nxdesktop to
  crash if the clipboard was empty.

- Fixed debug flag that was making the whole RDP packet to be dumped
  instead of just it's type as intended.

- Removed compilation warning in mcs.c.

nxdesktop-2.0.0-29

- Updated to comply with the changes in the NX function prototypes in
  nxcompext-2.0.0-13.

nxdesktop-2.0.0-28

- Changed configure script to disable sound by default. This change is
  temporary to avoid conflicts in Solaris.

- Fixed a wrong #ifdef in rdesktop.c that was causing a compilation
  error if sound redirection is disabled.

- Fixed typo in debug messages for the RDP layer.

- Added DUMP option to sound data to evaluate the commands been sent
  to the remote esd server.

nxdesktop-2.0.0-27

- Configure script changed to add support to nxesd. Temporarelly, this
  script should be executed requesting the sound redirection this way
  before compilation: ./configure --with-sound=esd.

nxdesktop-2.0.0-26

- Reversed changes made to support modified nxesd.

- Succesfully connected to the remote esd using NXTransChannel() but
  no sound is actually heard yet.

nxdesktop-2.0.0-25

- Corrected wrong #ifdef in rdp.c.

- Solved problem on handling congestion state that was making the RDP
  sessions hang.

nxdesktop-2.0.0-24

- Updated to comply with the new NX function prototypes introduced
  in nxcomp-2.0.0-31.

nxdesktop-2.0.0-23

- Improved options parser to ensure that an invalid kbtype parameter
  will not be accepted thus, falling back to "us" keymap.

- Added missing reference to TR01D01288 in ChangeLog.

nxdesktop-2.0.0-22

- Disabled DEBUG messages of parameters parser.

- Removed unused variables in xwin.c.

- Exit code from RDP loop initialized to avoid a wrong disconection
  message in case of a severed conection to the RDP server.

nxdesktop-2.0.0-21

- Removed calls to NXGetCleanupParameters() and NXGetImageParameters()
  from xwin.c. Those functions were removed in nxcomp-2.0.0-26.

nxdesktop-2.0.0-20

- Removed the unused screen parameter from NXSetUnpackGeometry().

- Disabled extra DEBUG messages.

nxdesktop-2.0.0-19

- Started implementation of then new sound redirection process using
  the new NXTransChannel(). Right now just the first changes in the
  structure were done.

nxdesktop-2.0.0-18

- Fixed bug that could cause nxdesktop to segfault if the clipboard
  was selected but not transfered.

nxdesktop-2.0.0-17

- Removed unused coordinate offset variables related to old viewport
  mode code.

- Fixed CHANGELOG.

- Updated bitmap creation to work with the changes on the new bitmap
  cache. This solves TR01D01288.

- Enabled several DEBUG options to help check performance and caching
  issues.

nxdesktop-2.0.0-16

- Fixed bug that was forcing experience mode type "modem" even if the
  NX transport wasn't enabled.

- Disabled floating window mode from the options menu and help.

nxdesktop-2.0.0-15

- Fixed bug in INCR clipboard transfers.

- Removed some compiler warnings from secure.c.

- More code clean-up in xwin.c.

- Improved session disconection in the SEC layer. If an error on it
  caused the session to terminate, nxdesktop was exiting suddenly,
  without handling correctly the disconection.

- Added trap for Session Directory mode in Windows 2003 Enterprize
  Edition. This trap currently does nothing, just avoid issuing a
  log message about unhandled or unknown PDU.

nxdesktop-2.0.0-14

- Fixed bitmap cache implementation.

- Updated RDP5 upcodes.

- If NX transport is active, "experience" mode is set to "modem" in
  order to avoid unnecessary eye candy like menu animations and fading
  effects.

nxdesktop-2.0.0-13

- Added missing break into switch clause in patblt mask processing.

- Solved memory leak in create glyph function.

- Removed masking and shape unused code.

- Bitmap processing updated to the be fully compatible with RDP 5.2.

- If the rectangles buffer weren't used, the solid rectangles did not
  change their foregroung colors correctly due to a wrong #ifdef.
  Fixed.

- Removed compiler warnings regarding translate colors variables not
  being initialized.

nxdesktop-2.0.0-12

- Improved error handling of TCP layer. If the conection with the RDP
  server is interrupted, the exception is handled, NXTransDestroy() is
  called and nxdesktop exits with an error. As RDP does not constantly
  checks the state of the conection, the network error can only be
  detected when there's actual communication between nxdesktop and
  the RDP server. This solves TR02D01290.

- Added secondary check on the exit code of the RDP layer to avoid a
  false RDP error in case of a TCP read failure.

nxdesktop-2.0.0-11

- Corrected error message issued in case the RDP is replaced by the
  same user in the same RDP server. This happens when the RDP server
  does not support more than one session per user like Windows XP Pro.

nxdesktop-2.0.0-10

- Code clean-up. Some test routines and debug code removed or adjusted
  to the same standard.

nxdesktop-2.0.0-9

- Communication with esd now works but the sound playing itself is
  still unstable.

- Change on the sound redirection initialization so if the sound
  device does not answer, the redirection is disabled.

- Small change in the processing of the activation request packet.

- Corrected typo in CHANGELOG.

- Corrected typo in xin.c debug message.

- Addeed hot-key Shift+F12 to test the communciation with esd. It's
  used for debugging only and will be deactivated later.

nxdesktop-2.0.0-8

- Some low-level esd function were imported into nxdesktop to make
  easier to control the communication between nxdesktop and the esd
  running on the client side. This solves the problem that prevented
  the authentication process with esd.

nxdesktop-2.0.0-7

- The configure script was changed to enable ESD sound redirection.

- Sound redirection via ESD is now the default sound option.

nxdesktop-2.0.0-6

- Changed option file parser to accept the parameter "media".

- Added debug information for sound redirection.

- Sound volume control temporarily disabled and volume fixed.
  This was done to help find and lock the data id and thus, making
  the mixer work in sync with the remote one.

nxdesktop-2.0.0-5

- Enabled sound redirection.

- Changed the option file parser to detect request from the client
  for sound redirection.

- Changed ESD initialization sequence to be compatible with the OSS
  implementation.

nxdesktop-2.0.0-4

- Updated NoMachine copyright notices to the current year.

nxdesktop-2.0.0-3

- Changed call to function NXSetExposeEvents to NXSetExposeParameters
  to match the changes in nxcompext-2.0.0-3.

nxdesktop-2.0.0-2

- Imported changes from nxdesktop-1.5.0-79.

nxdesktop-2.0.0-1

- Opened the 2.0.0 branch based on the 1.5.0-78.

nxdesktop-1.5.0-78

- Fixed problem with size calculation of uncompressed RDP images in
  high and full color modes which caused the wrong patterns in the
  OpenOffice's scroll bar. This solves TR10C01127.

- Corrected typo in CHANGELOG.

nxdesktop-1.5.0-77

- Changed RDP initialization process to correctly handle the request
  for FIPS compliant encryption, not supported by anything but the MS
  RDP client.

nxdesktop-1.5.0-76

- Eliminated logo flicking when RDP session is started using windows
  client. This solves TR10C01126.

nxdesktop-1.5.0-75

- Eliminated dialog message shown when the user, connected to a Windows
  XP with SP2 installed asks for desconection. This solves TR08C00993.

- Solved problem when the number of colors is limited on the server.

- Small fix in the configure script to make sure that OSS is selected
  unless explicitely indicated.

- Enabled display of alerts in case of logon timeout.

nxdesktop-1.5.0-74

- Sound redirection via ESD is working without the excessive hitches
  and hangs observed before.

- Remote volume control was disabled for now becasue, for reasons yet
  unknown the request for information from the esd server fails to 
  provide the correct player (esd client) identification. For testing 
  porpouses only, direct access to the mixer is used.
  
- Corrected missing TR reference in CHANGELOG.

nxdesktop-1.5.0-73

- Changed sound initialization sequence to solve hanging on the 
  initialization sequence.

- Changed esd initialization.

- Returned default compilation options to disable ESD sound so this 
  release can safelly be tested for other things and used.
  
nxdesktop-1.5.0-72

- Removed alerts when the server limits the number of colors or the
  resolution of the session and the user asks for more than those 
  limits.

nxdesktop-1.5.0-71

- Sound now plays via esd server. It's not fully working as there's
  still need to sync the RDP sound buffer and the local sound buffer
  and also needs to answer the mixer (volume and pan) requestes. 

nxdesktop-1.5.0-70

- Initialization of the sound redirection channel completed. Now 
  nxdesktop connects itself with the esd server, receives the sound 
  stream from the server but it's not playing it yet (still under
  investigation why).

- Added and enabled debug code for the sound redirection.

- Disabled code that cut sound redirection if NX transport is up.

- Forced parameters to enable local sound redirection and use of ESD.

nxdesktop-1.5.0-69

- Started implementation of sound redirection. This is been done cre-
  ating an interface with ESD. Just the initialization of the socket
  is done, still needs to interface with the RDP sound channel.
  
- Modified configure script to allow compilation of the ESD support. 
  Currently disabled by default.

nxdesktop-1.5.0-68

- Implemented change in viewport mode in order to activate it if the
  window is resized to a smaller resolution than the one used when the 
  session started. This solves the TR08C00980.
  
nxdesktop-1.5.0-67

- When connected to a XP Professional nxdesktop was showing a message 
  when a disconection was asked. This was caused because XP does not 
  logs off but to actually forces a disconection sending a disconection 
  error code to the client unlike the others RDP servers. 
  Now nxdesktop checks if it's the case and does not shows the message.
  This solves TR08C00993.
  
- Added a test code to determinate which is the version of the RDP
  server.
  
- Corrected CHANGELOG.

- Improved login error messages implemented for evaluation. Now, the
  alert is issued just in case of a login timeout. This was done for 2
  reasons:
  
  1) The RDP server itself shows a message error in case of wrong 
  authentication is used.
  
  2) The RDP server does not signals if the user wasn't able to login
  or if he/she just gave up to login by pressing ESC or clicking on the
  Cancel button.

nxdesktop-1.5.0-66

- Disabled one missing debug message related to viewport mode.

- If the login credentials are wrong or the user takes too long to do
  the login, when the session closes, nxdesktop now shows a message 
  that informes the reason.

nxdesktop-1.5.0-65

- The window is now aways in the middle of the screen when switched to
  fullscreen and back.
  
- Disabled debug code left to test the viewport mode.

- Fixed bug on viewport mode. When the window was moved on fullscreen
  mode and returned to window mode, a black stripe was shown.
  
- Viewport mode now also starts in the middle of the screen.

nxdesktop-1.5.0-64

- Created fullscreen switch using Ctrl-Alt-F keystroke.

- Fixed problem with combining viewport mode and fullscreen switch.

- Fixed problem with viewport mode if the viewport mode was activated 
  and the screen was minimized and maximized later.

nxdesktop-1.5.0-63

- Disabled debug code left for testing the viewport mode.

- Changed the detection of the resolution to better handle the view-
  port mode in windows. This solves the problem of gray areas when
  the viewport mode is activated on windows.

nxdesktop-1.5.0-62

- Changed alarm handler for the TCP conection so it properly closes 
  the session after a timeout. This solves TR08C00976.

nxdesktop-1.5.0-61

- Solved bug that prevented the viewport mode to be activated.

nxdesktop-1.5.0-60

- In case of a network conection error, nxdesktop now continues the
  rest of the initialization process of X layer but does not complete
  the session, exiting before that, instead of imediately bail out 
  after the network error. This avoid nxcomp issues a second error 
  message that closes nxdesktop's one.

nxdesktop-1.5.0-59

- Removed an extra error message left behind by mistake.

nxdesktop-1.5.0-58

- Modified nxdesktopDialog() to detect if nxdesktop is running from 
  the command line. In this case, neither NXTransAlert() nor 
  NXTransDialog() is used to show the error messages, just the text
  to stderr is printed.

nxdesktop-1.5.0-57

- Fixed typos in CHANGELOG.

- Modified nxdesktopDialog() to support both NXTransAlert() and 
  NXTransDialog(), using the first if the NX transport is running 
  and the later otherwise.

nxdesktop-1.5.0-56

- Updated messages to use the latest version of NXalert.h.

- Removed a duplicated debug message.

nxdesktop-1.5.0-55

- Disabled debug message relative to ending procedure.

- Added support for NXTransAlert().

- Added more complete termination options, with termination ending
  codes.
  
- Initialization sequence changed to init the NX transport before
  the network and RDP. This allows to capture the error codes and
  show them using the newly implemented NXTransAlert().
  
- Added visual warning to the user if the RDP server have limitations
  to the color depth and/or resolutions requested by the user.
  
- Added error messages that inform the user in case of the RDP session
  is closed by limits on the server, timeouts, licensing errors, 
  network errors, security issues or manual disconection by the system 
  administrator or other user with due rights.
  
nxdesktop-1.5.0-54

- Solved bug with wrong #ifdef which was causing the compressed RDP
  cache not been activated if the debug is enabled.
  
- Improved single point of termination procedure.

nxdesktop-1.5.0-53

- Removed references to nxkdb.

- Small clean-up in xwin.c debug code.

- Removed references to NXSync and NXKarma.

nxdesktop-1.5.0-52

- Changed the calls to NXDialog to NXTransDialog to be compatible with
  the latest changes in nxcomp.
  
- Small modification in xclip.c to allow compilation in gcc 2.95.

nxdesktop-1.5.0-51

- Implemented INCR (incremental) transfers for clipboard operations. 
  This should allow large amounts of data to be transfered.

nxdesktop-1.5.0-50

- Unified method of detection of NX transport.

- Disabled Floating Window Mode from command line parameters options.

nxdesktop-1.5.0-49

- The RDP compressed cache was set as active when nxdesktop was called
  from the command line. Solved.
  
- Corrected typo in methods selection debug messages.

nxdesktop-1.5.0-48

- Changed the "rdpcolours" parameter parser back to "rdpcolors".

- Removed bug that prevented the rdp cache to be disabled if 
  requested.

nxdesktop-1.5.0-47

- Removed one debug message left active by mistake.

- Disabled the XSetSelection owner added in version 1.4.0-37. This call
  was added to solve a problem with the clipboard refusing to work at
  that time with the windows client. This seens to be no longer needed
  and is even causing problems.
  
- The cache selection logic was simplified.

nxdesktop-1.5.0-46

- Disabled a debug flag related to the seamless mode. It was harmless
  because the seamless mode was disabled already. I did that for the
  sake of consistency.
  
- All 4 color depth modes avaliable (8, 15, 16 and 24 bpp) are now 
  working fine together.
  
- Refined the xwin.c debug with different defines for graphics, events,
  parameters, dump graphics, text and pack methods.

nxdesktop-1.5.0-45

- Fixed problem with openoffice in high color modes. TRCL052310.

- Changed local pack method selection to support 32K (15 bpp) mode.

- Small cosmetic changes on orders.c.

- Added debug messages for all the primary packet orders.

nxdesktop-1.5.0-44

- Changed selection pack method to make use of the 15 bpp compression.

- Added debug points in the orders loop.

nxdesktop-1.5.0-43

- Solved problem with the fullscreen flag in the options file parser.

nxdesktop-1.5.0-42

- Solved the freeze of nxdesktop by changing the select() procedure in
  xwin.c by givving NX a chance to check it's own descriptors. It was
  based on _XSelect from XlibInt.c.
  
- Simplified the logic related to handling the congestion state.

- Restored the signal handlers and timers.

- Added debug messages to the congestion testing.

- Added debug messages related to the changes on the ui_select above.

- Some cosmetic changes on xwin.c.

nxdesktop-1.5.0-41

- Added experimental error handling for EINTR.

- Changed option "rdpcolors" to "rdpcolours" into the options parser.

- Corrected typo in tcp_recv debug messages.

- Removed autoconf file left by mistake.

nxdesktop-1.5.0-40

- Fixed compilation problem on Solaris 8.

nxdesktop-1.5.0-39

- Added support for polygon and ellipse opcodes.

- Corrected typo in TCP message error.

nxdesktop-1.5.0-38

- NXTransCongestion() now replaces NXKarma/NXSync, as required.

- Added debug flag NXDESKTOP_CONGESTION_DEBUG.

- Some cosmetic changes on xwin.c.

- Updated keyboard maps from latest stable rdesktop.

nxdesktop-1.5.0-37

- Solved problem that caused message errors like "Info: X request 
  #149 failed with message 'BadLength (poly request too large or 
  internal Xlib length error'".

- Corrected typo in CHANGELOG.

- Updated orders processing to be compatible with updated PolyLine
  processing.

- Solved memory leak left by shapping routines.

nxdesktop-1.5.0-36

- Floating window mode is disabled.

- Disabled NXSync and NXKarma to implement and test NXTransCongest().

- Added PolyLine orders processing.

- Changed SIGNAL handling according to the new NXcomp capabilities.

- Started implementation of NXTransCongestion replacing NXSync and 
  NXKarma.
  
- General cleaning up of the code to remove compiler warnings.

nxdesktop-1.5.0-35

- Added single exit point where NXDestroyTrans() is called.

- Corrected bug that prevented the floating window mode to be 
  activated if the debug mode is de-activated.
  
- Changed CLIPPER message parser to match changes on nxclipper.

nxdesktop-1.5.0-34

- Initialization of xo and yo when launched from command line are 
  now correct.
  
- Solved problem that made the amount of data traffic between nxserver
  and nxclient becomes very high when link type LAN is selected.
  
- Changed the way of NX transport is initialized when the RDP session
  is recognized by the server.

nxdesktop-1.5.0-33

- The moving windows operation now is purelly done on the X client
  side only and not following the RDP window when it's moved. 
  This way, the X window movement is a snap and there's no need to
  handle the different offsets between the RDP window and the X 
  window.

- Support for multiple windows is beeing modified to handle them
  in a different way. This is required because some update packets
  can partially operates across more than one window thus, to keep
  the result consistent, this packet would have to be splitted.
  Now, with the separation between the RDP windows position and the X
  window position, the windows are going to placed in a virtual 
  desktop where they don't overlap, forcing the RDP updates to be
  contained intirely into one window.

nxdesktop-1.5.0-32

- Applied corrections on redirection from rdesktop 1.4.0.

- Added preliminary support for minimize/maximize windows under
  floating window mode. It's not fully functional yet. If the window
  is minimized, the RDP server closes the session. To avoid this,
  nxclipper has to be modified.

nxdesktop-1.5.0-31

- Solved bug that moved the window if it was resized when in seamless
  mode.

nxdesktop-1.5.0-30

- Implemented seamless mode. Creation, destroying, resizing are
  working fine. Moving still have some issues specially if there
  is more than one window active.
  
- As the messages coming from nxclipper are not in sync with the RDP
  packets, a flag was added to avoid processing packets while there
  is still messages coming.
  
- When the seamless mode is activated, the whole screen space avaliable
  is used, the windows border are eliminated and all "eye candy" from
  default "experience" options are disabled, except the "full window
  content drag". This option is necessary for now to generate the
  correct "moving" messages. The idea is to eliminate it to which will
  vastly improve performance.
  
- The messages "NOT IMPLEMENTED: RDP5 opcode 6" and "NOT IMPLEMENTED: 
  CLIPRDR packet type 7", created by Windows 2003 SP1 are now ignored.
  There's no lack of funcionality when those flags are ignored.
  
- Disabled detection of the xshape extension.

- Changed sequence of resizing to improve performance.

nxdesktop-1.5.0-29

- Initial support for X windows and RDP windows correspondence.

- Removed unused flag into orders processing.

- Corrected typo in CHANGELOG.

nxdesktop-1.5.0-28

- Disabled mask/shape processing of the RDP windows.

- Added entries to recognize the new messages sent by nxclipper
  namelly WM_WINDOWSPOSCHANGED and WM_WINDOWPOSCHANGING.
  
- Changed window information buffer to deal with the z-depth 
  information.

nxdesktop-1.5.0-27

- Solved problem with cache initialization that could cause errors
  when nxdesktop is executed from the command line.
  
- No more need to specify fullscreen mode.

- Added "emergency key" F12. This is a debug measure. If the window is
  lost or hidden by mistake, pressing F12 will make the desktop visible.
  
- Improved "move window" now the contents of the window are correctly 
  preserved when moved. It's not perfect yet tough.
  
- Added special treatment for resizing.

- When floating mode is selected, a special flag is automaticaly sent
  to the server to force the exibition of the windows contents.
  
- Started implementation of the minimize, maximize and restore functions 
  which were not provided by the original TSClipper. Maximize works 
  already.
  
- Changed the way the inital mask is created.

- Removed some compiler warnings.

- Some cosmetic changes.

- Changed configure script to solve problem with Solaris.

- Fine tunned performance flags for floating windows mode. All eye-candy
  is disabled except full window drag.
  
- Added new message parameter "TYPE" to the clipper message parser. 
  This characterize the sub-operation provided by the minimize/maximize
  /restore process.

nxdesktop-1.5.0-26

- Change atoms properties to deal with viewport mode.

- Added flag to disable viewport mode when seamless mode is enabled.

- Cosmetic changes on viewport code.

- Restaured the funcion of Alt+F4 key combination.

- Imported changes from nxdesktop-1.5.0-24-STE1.

- Implememted procedures to create, destroy, move and resize windows
  in floating window mode.

nxdesktop-1.5.0-25

- Message parser improved.

- Added debug messages to the message parser.

- RDP server windows are now storaged in a cache array to keep
  track of it's characteristics.
  
- Nxdesktop window now changes itself in response to RDP messages to
  change it's size and position.

nxdesktop-1.5.0-24

- Modified clipper channel parser to deal with unexpected data.

- Corrected typo on CHANGELOG.

nxdesktop-1.5.0-23

- Imported changes from nxdesktop-1.5.0-21-MAR1.

- Added debug routines to dump data from the clipper channel.

- Changed callback procedure to the clipper channel to capture the 
  event loop.
  
- Added parser to receive the windows data and put store it in a 
  usefull format.
  
- Created array to hold the windows information.

- Made changes on the clipper component used on the windows server to
  send the information in format easier to parse.
  
- Made some cosmetic changes in xwin.c and constants.h.

- Added some comentaries in the new code above.

nxdesktop-1.5.0-22

- Imported constants relative to the channels processing from TS SDK.

- Added entry points to the callback functions of the RDP extension.

- The RDP extension is now responding correctly and the information 
  regarding the RDP windows, including ID, event, type,  title, size 
  and position are now avaliable via the "clipper" channel.

nxdesktop-1.5.0-21

- Enabled the callback for the "clipper" channel.

- Imported improvemments and corrections from rdesktop-1.4.0.

- Integrated changes from nxdesktop-1.5.0-MAR2.

- Corrected wrong declaration of function nxdesktopMoveViewport.

- The directories "crypto" and vnc are no longer used.

- The cryptography headers are now from OpenSSH.

- Changes in the configure script to support the changes above.

nxdesktop-1.5.0-20

- The "clipper" channel is now correctly recognized by the windows 
  server this means that nxdesktop is sending the right initialization 
  sequence that enables the channel used for the seamless windows 
  process making the windows server aware that the related RDP 
  extension will be used and mimicking the windows client-side TS API.
  
- Changed channels initialization order.
  
nxdesktop-1.5.0-19

- Integrated changes from nxdesktop-1.5.0-18-MAR1.

- Added channel parameters to the "CLIPPER" channel.

- Changed format of channel "CLIPPER" registration to be compatible with
  the one found using MS RDP client.

nxdesktop-1.5.0-18-MAR1

- Implemented FRSA052271: Dynamic handling of the main window's size
  in the RDP agent.

- Implemented FRSA052270: Dynamic handling of the full-screen attribu-
  te in the RDP agent.

nxdesktop-1.5.0-18

- Corrected typo in Info message.

- Corrected wrong file permissions in "configure".

- Debug code for the channel communications added.

nxdesktop-1.5.0-17

- Revision of the depth limit fall back process. If the windows server 
  limits the color depth of the RDP session, nxdesktop will falls back 
  to the highest avaliable one.

- Updated copyright notice on the files. FRCA052260.

- Updated fr-ch (swiss-french) keymap.

nxdesktop-1.5.0-16

- All code related to the seamless window based on masks is disabled.

- Reactivated code that handles the new channel to be used to change
  information between the windows server and nxdesktop related to the
  windows. The channel is called CLIPPER at this time to be compatible
  with the server side test code.

- Rectangles buffer and optimizer re-enabled.

- Pixmap cache activated.

- Small change in the initialization process related to the changes
  on the options parser.

- Code clean-up related to the debug conditionals and features.

nxdesktop-1.5.0-15

- Corrected typo in CHANGELOG.

- Changed the parameter "rdpcolordepth" to "rdpcolors".

nxdesktop-1.5.0-14

- Solved bug preventing nxdesktop to run if single application and 
  fullscreen are selected without using the floating window mode.
  
- Now the RDP image cache is aways on unless explicitely disabled.
  FRSA052358.

- Added parameters "rdpcolordepth" and "rdpcache" to options file
  parser.
  
- Disabled debug option that creates a disk image of certain test 
  masks.

nxdesktop-1.5.0-13

- Added debug function "Snapshot". When activated, the F12 key takes a
  snapshot of the current window, current backstore and current shape
  bitmap creating the files "window.xbm", "backstore.xbm" and 
  "shape_bitmap.xbm".
  
- Added debug function "Shape reset". When activated, the F11 key tries
  to reset the window mask to a suitable situation.
  This function requires a special nxcomp called nxcomp-1.5.3-ADI1 because
  it creates a message bigger than the write buffer can handle currently.
  The session will fail if used with any current nxcomp.
  
- The FILL_RECT operations are now handled by an specific function that 
  checks if the rectangle will be part of the background or not and updates
  the shape mask acordingly.
  
- The resizing of the client window now works.

- Moving the client window works partialy. The window is moved but the
  mask does not updates correctly yet.
  
- The glyphs and text rendering area is now adjusted to be visible before
  the rendering.
  
- Operations like lines are, for now, ignored as the are already covered 
  by the fill_rectangle and paint_bitmap ones.
  
nxdesktop-1.5.0-12

- Disabled parameters parsing debug.

- Added signal2 handler to dump the masks at any moment.

nxdesktop-1.5.0-11

- Modified orders.c to deal with on-the-fly creating of masks for the
  bitmaps.
  
- Added defines to enable/disable the masks creation functions.

- Added defines to control the dump of the shapes (screen and disk).

- Corrected typo on CHANGELOG.

- Corrected typos on rdesktop.c debug messages.

- Added support for "domain" parameter on the command line and 
  options file. 
  
nxdesktop-1.5.0-10

- Changed logic of enabling RDP image cache. Previously, nxdesktop's
  configuration had priority over the response to the server side
  capabilities query.
  
- Mask creation process is now compatible with latest directives.

- Several debug entry-points added for the mask processing. Still need to
  clean up the dubug routines and add the correct #ifdef's.

- Added capability to dump to disk and screen partial, complete shapes and
  source images added. When dumped to the disk, the shapes are standard
  XBM files.
  
- Several different calling points for the masks update were created or
  adjusted from the previous locations. Currently working on when call the
  updates for each operation.
  
nxdesktop-1.5.0-9

- Cosmetic changes on xwin.c.

- Removed mask dump files.

- Added image dump code to help debugging.

- Started implementation of a new way to create the masks required 
  to make the floating windows apearance. Instead of  grab them just 
  before they are sent to the window, the masks  will be created when 
  the bitmaps arrive from the RDP server.
  
- Small change on the caching procedure to make sure that the 
  persistent bitmap caches (which are stored on disk) are disabled.
  
- Removed redundant rectangles cache flush.

- A initial mask is created just after the window mapping. This avoids
  the login window to have the border if the floating mode is on.
  Some experiment is still needed to find a suitable initial value for
  this mask that doesn't mess the subsequent bitmaps right after.
  
- The callback function for the CLIPPER channel is commented out to
  avoid a compiler warning as this function is not been used currently.

nxdesktop-1.5.0-8

- Corrected compilation problem on solaris 8.

- Disabled floating debug code.

nxdesktop-1.5.0-7

- Mask creation reevaluated. Now a clean mask is prepared before any
  bitmap is sent to the window.
  This was necessary to avoid gaps on the subsequent partial mask
  processing that will damage the result.
  
- Implemented a fixed mask to test the XShapeCombineMask actual
  behaviour.
  
- If the floating window mode is selected, the border are automaticaly
  removed.
  
- Floating window mode disabled by default.

- Removed compiler warnings.

nxdesktop-1.5.0-6

- Changed logic on PIXMAP_CACHE ifdefs.

- Changed entry-points of bitmap processing to allow a ordered
  creation of the bitmap masks.

nxdesktop-1.5.0-5

- Added detection of the XShape extension.

- Changed VERSION constants.

- Added XShape manipulation on non-compressed bitmaps.

nxdesktop-1.5.0-4

- Fixed keyboard problem with shortcuts on some windows applications
  fails if CAPSLOCK is on. TRSL052316.

nxdesktop-1.5.0-3

- Started implementation of the new floating (seamless) windows mode.

- Removed compiler warnings on parallel.c and cache.c.

nxdesktop-1.5.0-2

- Enabled experimental local elipse processing.

- Removed small memory leak on ui_init().

- Removed memory leak on the floating window code.

nxdesktop-1.5.0-1

- Opened the 1.5.0 branch based on nxdesktop-1.4.1-20.

nxdesktop-1.4.1-20

- Finished implementation for experimental floating-window mode
  (seamless window).
  
- Added command line option -F to enable floating-window mode.

nxdesktop-1.4.1-19

- Solved problem with 16bpp bitmap rendering.

- Small cached 24bpp images wasn't retrieved correctly. Solved.

- Added support for PLAIN modes for 16 and 24 bpp.

- Fixed problem when caching high color images with cache 
  v2 (RDP5 mode).

nxdesktop-1.4.1-18

- Disabled debug code.

nxdesktop-1.4.1-17

- Small typo on CHANGELOG corrected.

- Small adjustments to event handling code.

nxdesktop-1.4.1-16

- Corrected error on xwin.c and rdp.c discovered when
  NXDESKTOP_XWIN_USES_PACKED_IMAGES was disabled for testing.

- Started integration of SHAPE patch to use on simulated seamless 
  mode.
  
NOTE: This version produces copious debug information.

nxdesktop-1.4.1-15

- Merged changes on nxdesktop-1.4.0-60 and nxdesktop-1.4.0-61.

- Clean up on xwin.c code.

- Corrected typos.

nxdesktop-1.4.1-14

- Merged changes on nxdesktop-1.4.0-59

NOTE: Several debug options are active on this release.

nxdesktop-1.4.1-13

- Merged changes made on nxdesktop-1.4.0-58 to avoid session crash
  when using MS Visio.
  
- Corrected typo on CHANGELOG.

- Changed selection logic of color depth.

nxdesktop-1.4.1-12

- Added trap to close the RDP connection if the server has a limited 
  color depth and the session requests a bigger depth.

nxdesktop-1.4.1-11

- Removed debug message left activated by mistake.

nxdesktop-1.4.1-10

- Persistent cache activated for testing and debug.

- Default bpp returns to 8.

nxdesktop-1.4.1-9

- Removed temporary option from old keyboard handling.

- Added the parameter "depth" to the read from the options file.
  This parameter indicates the choosed session color depth.

nxdesktop-1.4.1-8

- Small typo con CHANGELOG corrected.

- 16 and 24 bpp modes are now functional.

NOTE: For now, the bpp is hardcoded in 8 and the parameter -a (into 
      nxnode.conf for instance) has to be used to have a greater number 
      of colors because nxclient does not have this option yet.
      Known issues: tooltips and a few bitmaps does not work well yet.
      
NOTE2: I was unable to test it on dev01 yet.

nxdesktop-1.4.1-7

- Changed version number

- Ported and updated changes made on previous 1.4.1 releases

NOTE: This version now needs nxcomp 1.4.1-3 to compile.

nxdesktop-1.4.1-6-ADI2

- Added a time out safe guard to detect when the connection with
  the RDP server stops responding for more than 30 sec.
  This should solve the FRSL042147.
  
NOTE: This was not fully tested like in different platforms and network 
      conditions yet.

nxdesktop-1.4.1-6-ADI1

- 1.4.1 branch version based on nxdesktop-1.4.0-57

- Added flag --with-static-openssl to compile libcrypto staticly.

NOTE: This was tested on a redhat based distro only. Probably will need 
      changes to work on other distros/platforms.

nxdesktop-1.4.0-57

- Solved compilation warning when XWIN_DEBUG is active.

- Solved bug which was stoping nxdesktop properly behavior if
  "Use plain bitmaps" is enabled.
  
nxdesktop-1.4.0-56

- Debug code for the latest additions disabled.

nxdesktop-1.4.0-55

- Cosmetic change on the debug presentation routine.

- Better handling of the kbtype parameter read from the option file.

- Added debug code for the options parser.

- Changed the way the keymap file name is transfered to the correspondent
  variable and it's initialization. This was done to prevent a possible 
  crash due an empty kbtype parameter.

nxdesktop-1.4.0-54

- Updated keyboard translation table to be compatible with latest version
  used on nxclient.
  
- Updated NXTranslateKeymap to reflect those changes.

nxdesktop-1.4.0-53

- Changed warning message for unsupported keyboard option.

- Variable "command" is now freeded in case or error.

- In the previous version, for testing porpouses, the kbtype parameter
  was expected to still have the windows code attached. This was removed.
  
- As required, all keymap definitions supported on rdesktop are mapped
  to it's xkb counter-part.
 
NOTE: This version will not work with the current nxserver/nxclient.

nxdesktop-1.4.0-52

- Removed an duplicated call to xkeymap_init(). It didn't do any harm,
  just called twice.

- The keyboard parameters are now parsed from the "options" file. Also
  other relevant parameters like geometry are parsed from there.
  It scans the xkb parameter for an windows keymap equivalent. If one is
  not found, it falls back to the standard en_US, writing a warning 
  message in the server logs.
  It also still supports command line parameters for those it does not
  finds into the options file. In case of duplicity tough, the option 
  file has the priority.
  
NOTE: This version will work only with the latest nxserver 1.4.0-98 which
      was the last one made avaliable to me.
      For now the translation table is hardcoded based on Kryza's reference 
      file. Reading from /usr/NX/share/keyboards will probably better as 
      soon as it reaches it's final form.

nxdesktop-1.4.0-51

- The sound support is now disabled if NX transport is used.

nxdesktop-1.4.0-50

- Solved an error regarding a #ifdef that was making nxdesktop disable 
  the compressed cache and compressed bitmap orderings.

nxdesktop-1.4.0-49

- Solved text rendering problem. This closes the TRs
  "Certain text files are not displayed correctly in RDP sessions" and
  "nxdesktop shows errors when clipboard operations are performed"
  
NOTE: The problem on the second TR was actually caused by a bug on the
      text rendering process not a clipboard problem as first tought.

nxdesktop-1.4.0-48

- Disabled parameters parsing debug logs left enabled
  by mistake.

nxdesktop-1.4.0-47

- Corrected debug parameter of RDP5.

- Improved formating of RDP packet dumps.

- Added new debug flag, NXDESKTOP_ORDERS_DEBUG to help
  debug the RDP packets order process.

nxdesktop-1.4.0-46

- Added missing debug flag to avoid -kbtype message.

nxdesktop-1.4.0-45

- Added debug flag to remove a unnecessary warning message.

- The default Makeconf file had a debug flag. Removed.

nxdesktop-1.4.0-44

- Allocated size hints are now been correctly freed.

- Error, debug, information and warning messages were improved and
  standarized. Much more information on the categories above were
  added, specialy concerning the network communication layers:
  RDP, TCP, MCS, ISO and SEC. Each layer now has it's own debug
  activation flag such as: NXDESKTOP_MCS_DEBUG, NXDESKTOP_TCP_DEBUG,
  NXDESKTOP_ISO_DEBUG, NXDESKTOP_RDP_DEBUG, NXDESKTOP_XWIN_DEBUG,
  NXDESKTOP_SEC_DEBUG, NXDESKTOP_RDP5_DEBUG.
      
- Improved the error handling allowing nxdesktop to terminate 
  gracefully in the eventuality of communication problems.
  
NOTE: Those changes above were implemented previously in 
      nxdesktop-1.4.1 series and backported.

nxdesktop-1.4.0-43

- The text rendering is now fully compatible with NX and
  the newest RDP specifications avaliable.
  
- Changes on order.c to adequate to the modifications
  above.
  
- Small changes on variables types in cache.c and parallel.c
  to avoid compiler warnings.
  
- Removed CVS directories copied into nxdesktop tree by mistake.

nxdesktop-1.4.0-42

- Typo in CHANGELOG corrected.

- Two new paramenters added: -z and -P.
  -z enables the MPPC compression and  
  -P enables the persistent bitmap caching recently implemented.
  Both features are disabled by default.

- Changed PDU manipulation to work with the updated text rendering
  process.

- Text rendering re-written to solve the problem with GroupWise
  client and better compatibility with the latest changes on RDP5.
  
NOTE: The new text rendering process is working nicely but still 
      needs further optimization to improve performance and be 
      fully compatible with the text caching process.

nxdesktop-1.4.0-41

- A small change was made to minimize the problem with wrongly 
  wrapping text in GroupWise client when used on windows
  servers with the latest patches.
  
NOTE: This is not a real solution, just minimizes the problem.
      A definitive solution will be implemented on monday.

nxdesktop-1.4.0-40

- Solved problem with bitmaps on windows 2003 caused by the 
  changes on the caching process. 

nxdesktop-1.4.0-39

- Persistent bitmap cache implemented but inactive.
  It's been reported that the newest patch for windows
  servers can deny acesss if the RDP client does not report
  correct handling capability of bitmap cache version 2 for RDP5.
  This new bitmap cache was implemented but to avoid further 
  problems, it just reports correctly the new parameters 
  but the persistent cache is disabled.

nxdesktop-1.4.0-38

- Solved problem of RDP session hanging on windows servers 
  updated with the latest patches.
  This problem was caused by a change on the encryption
  procedures into the windows server.

nxdesktop-1.4.0-37

- Merged with nxdesktop-1.4.0-36-ADI1

- Solved problem with the clipboard when executed from windows
  client.
  
NOTE: Many thanks to Dario for his help with this clipboard
      problem.

nxdesktop-1.4.0-36

- Removed debug code forgot behind by mistake.

nxdesktop-1.4.0-35

- Solved the logo "blinking" when called from windows client.

nxdesktop-1.4.0-34

- Added code to avoid a possibly wrongly "Less than 8 bpp not currently 
  supported" error. The modification initializes the test variable with the
  current depth and issues a different error message if the pixmap array
  couldn't be allocated.

nxdesktop-1.4.0-33

- Message printed for the mock "-kbtype" message removed.

nxdesktop-1.4.0-32

- Added mock -kbtype parameter. Anything passed using it will be
  ignored and just a message will be printed.

nxdesktop-1.4.0-31

- Reversed the modifications made by 1.4.0-29-TOM2

nxdesktop-1.4.0-30

- Merged with 1.4.0-29-TOM1 and TOM2

nxdesktop-1.4.0-29

- Added the following keymaps:
  et
  is
  nl
  nl-be
  sv

- Updated the keymaps:
  de-ch
  fr-be
  ja
  sv

nxdesktop-1.4.0-28

- Aplied updates on mppc.c.

- Changed typecast on bitmap.c.

- Corrected logic error preventing connection error message to be shown.

- Corrected typecast in channels.c.

- Added missing copyright notice.

nxdesktop-1.4.0-27

- Solved bug that was causing messed bitmaps to be cached.

nxdesktop-1.4.0-26

- Solved bug on decompressing 1 bpp bitmaps bigger than 128 
  pixels.
  
- Fixed typo on connection error message.

- Fixed wrong typecast on secure.c.

nxdesktop-1.4.0-25

- Fixed memory leak on ui_create_gliph.

- Fixed typecast bug in channels.c.

- Bitmap handling completely re-written with special 
  decompressing routines for 1, 4 and 8 BPP.

- Added MPPC (Microsoft Point-to-Point Compression) support.

- Added printer status e redirection support.

- Added disk status and better redirection support.

- Changed RDP layer processing to add support to new PDU 
  messages.

- Changed ISO layer to prevent freeze caused by some windows 2003
  configurations.
  
- Changed secure layer to reflect changes on ISO layer.

- Better font handling.

- Advertizing capabilitites changed to reflect the new resources.

- RDP redirection now has lock control.

- Better color translation added.

- Added window resize support.

NOTE: The window resize is from server to client only. In theory
      it can be done from the client but will require to disconnect 
      and reconect with the new window size.
      It's expected RDP 6 to have dynamic resizing and seamless 
      mode implemented.
      The MPPC compression support is highly experimental and
      disabled for now by default.

nxdesktop-1.4.0-24

- Fixed possible problem if the Rects buffer overflows.

nxdesktop-1.4.0-23

- Fixed problem that can be caused if nxdesktop is called 
  by nxserver disabling RDP5.
  
NOTE: This is not a possibility today as we don't have such
      option now on the interface but it's a future bug squashed
      before it's born.

nxdesktop-1.4.0-22

- First implementation of reduced XFillRects now works.

- Fixed two typos in CHANGELOG

- Added define NXDESKTOP_USES_RECT_BUF to help evaluate the
  performance. If undefined, the old code is used.

NOTE: This first implementation was done in the solid XFillRect 
      which is, by far, the most used. Now that the necessary 
      flushing points are stablished, the others are easy to 
      implement if necessary, due it's very low incidence.

nxdesktop-1.4.0-21

- Redirection is now enabled to allow experimentation with it.

- Initial code to minimize the use of XFillRects in place.

NOTE: This modification is not working fully but if no windows 
      is dragged one can use it to test the statistics.

nxdesktop-1.4.0-20

- Merged code from 1.3.2 branch.

- Solved bug that prevented nxdesktop to run if called directly from 
  the command line.

NOTE: This bug was caused by a unforseen combination of having
      the compressed rdp bitmaps activated without the NX transport.      
