aboutsummaryrefslogtreecommitdiff
path: root/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_CHANGELOG.X.original
diff options
context:
space:
mode:
Diffstat (limited to 'doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_CHANGELOG.X.original')
-rw-r--r--doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_CHANGELOG.X.original1088
1 files changed, 1088 insertions, 0 deletions
diff --git a/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_CHANGELOG.X.original b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_CHANGELOG.X.original
new file mode 100644
index 000000000..085401dd9
--- /dev/null
+++ b/doc/_attic_/nx-X11_vs_XOrg69_patches/nx-X11_CHANGELOG.X.original
@@ -0,0 +1,1088 @@
+--- ./nx-X11/CHANGELOG.X.original 2015-02-13 14:03:44.392448449 +0100
++++ ./nx-X11/CHANGELOG 2015-02-10 19:13:14.668653602 +0100
+@@ -0,0 +1,1085 @@
++ChangeLog:
++
++nx-X11-3.5.0-2
++
++- Fixed TR0202420. XKB utility functions wrote out of bounds.
++
++- Upgraded RandR server extension to version 1.2.
++
++nx-X11-3.5.0-1
++
++- Opened the 3.5.0 branch based on nx-X11-3.4.0-4.
++
++- Updated copyright to year 2011.
++
++nx-X11-3.4.0-4
++
++- Fixed TR06H02359. Removed compiler warnings.
++
++nx-X11-3.4.0-3
++
++- Updated copyright to year 2010.
++
++nx-X11-3.4.0-2
++
++- Fixed TR04G02208. Added a path to rgb file.
++
++nx-X11-3.4.0-1
++
++- Opened the 3.4.0 branch based on nx-X11-3.3.0-7.
++
++- Updated copyright to year 2009.
++
++nx-X11-3.3.0-7
++
++- Fixed TR08G02257. The maximum client condition was reached because
++ available fd exhausted. This bug was caused by a function in font
++ library not closing the file before a return on error breaking the
++ flow of normal execution.
++
++- Fixed TR06G02225. The implementation of Xvprintf() has been reviewed
++ to work on more platforms. Previous implementation caused a failure
++ in the build of keyboard map on some platform like Solaris 8 and 9.
++
++nx-X11-3.3.0-6
++
++- Fixed TR03G02198. Reimplemented Xvprintf() in Xserver/os to handle
++ the case in which vsnprintf returned -1.
++
++- Returning from _XSeqSyncFunction() and _XReply() if an I/O error is
++ detected.
++
++nx-X11-3.3.0-5
++
++- Fixed TR01G02163. Signals need to be blocked before the call to
++ fork() in the Popen() utility.
++
++- Fixed TR01G02164. Trapezoid data need to be validated before use.
++ This issue was the same of CVE-2007-2437.
++
++nx-X11-3.3.0-4
++
++- Enabled the code resetting the Xlib buffer if an IO error occured.
++
++nx-X11-3.3.0-3
++
++- Fixed the search path for the XKB base directory.
++
++nx-X11-3.3.0-2
++
++- Fixed TR10F02116. The X11 agent could enter an indefinite wait state
++ if connection to X display is broken and libX11 output buffer is not
++ empty.
++
++nx-X11-3.3.0-1
++
++- Opened the 3.3.0 branch based on nx-X11-3.2.0-2.
++
++nx-X11-3.2.0-2
++
++- Imported patch fixing issues from X.Org security advisory, June
++ 11th, 2008: Multiple vulnerabilities in X server extensions. CVE
++ IDs: CVE-2008-1377, CVE-2008-1379, CVE-2008-2360, CVE-2008-2361,
++ CVE-2008-2362.
++
++nx-X11-3.2.0-1
++
++- Opened the 3.2.0 branch based on nx-X11-3.1.0-6.
++
++nx-X11-3.1.0-6
++
++- Modified Xserver Imakefile to link the Xfixes library.
++
++nx-X11-3.1.0-5
++
++- Disabled the terminate action, just in case the TerminateServer
++ symbol is binded to a non default key sequence.
++
++nx-X11-3.1.0-4
++
++- Imported patch fixing issues from X.Org security advisory, January
++ 17th, 2008: Multiple vulnerabilities in the X server. CVE IDs:
++ CVE-2007-5760 CVE-2007-5958 CVE-2007-6427 CVE-2007-6428
++ CVE-2007-6429 CVE-2008-0006.
++
++nx-X11-3.1.0-3
++
++- Moved a variable definition placed in _mesa_make_current().
++
++nx-X11-3.1.0-2
++
++- Fixed TR10E01924. A crash could occur in _mesa_make_current().
++
++- Initialized after_ret variable in _XcmsGetProperty().
++
++nx-X11-3.1.0-1
++
++- Opened the 3.1.0 branch based on nx-X11-3.0.0-37.
++
++nx-X11-3.0.0-37
++
++- Changed the Xserver Imakefile to link against Xcomposite on the
++ Cygwin platform too.
++
++nx-X11-3.0.0-36
++
++- Fixed TR07E01806. Modified host.def to build GLX code with symbol
++ __GLX_ALIGN64 defined on Solaris platform.
++
++nx-X11-3.0.0-35
++
++- Flush explicitly the NX link before entering the select() in the
++ WaitForReadable() and WaitForWritable() routines.
++
++nx-X11-3.0.0-34
++
++- Changed the agent Imakefile to link to the Xcomposite library.
++
++nx-X11-3.0.0-33
++
++- Fix the NX_TRANS_WAKEUP stuff in WaitForSomething() to not over-
++ ride a valid timeout.
++
++- Check if the requesting client is gone in the XFixes functions
++ sending the cursor events.
++
++nx-X11-3.0.0-32
++
++- Define DDXOSVERRORF and DDXOSFATALERROR symbols on Sun.
++
++- Changed the copyright attribution from Medialogic to NoMachine.
++
++nx-X11-3.0.0-31
++
++- Make SmartScheduleStopTimer() visible outside Xserver/os/utils.c
++ so that it can be called by the agent. Export the declaration in
++ dixstruct.h.
++
++nx-X11-3.0.0-30
++
++- The OsVendorVErrorFFatal flag is set to 1 if the function pointed
++ by OsVendorVErrorFProc is called due to a fatal error.
++
++- Give the possibility to the agent to redirect the standard error
++ during a Popen() or a System() by setting the OsVendorStartRedir-
++ ectErrorFProc and OsVendorEndRedirectErrorFProc function pointers.
++
++nx-X11-3.0.0-29
++
++- Changed the default message printed on a fatal server error. The
++ new message is:
++
++ Error: Aborting session with 'Error text...'.
++
++- Hacked LogVWrite() to force all fatal error messages to have an
++ uppercase initial. Also remove the trailing newline and the full-
++ stop, if present.
++
++nx-X11-3.0.0-28
++
++- Corrected the typos in the ChangeLog.
++
++nx-X11-3.0.0-27
++
++- Fixed the cleanup of the X_RenderCompositeText16 padding bytes.
++
++- More code cleanup in the NX changes to the Xrender library.
++
++- Changed host.def to build the freetype and fontconfig libraries
++ if the agent server is also built. Freetype is built as a shared
++ library: this avoids the link error on 64 bit platforms.
++
++nx-X11-3.0.0-26
++
++- Applied the following security patches, from the X.Org security
++ advisory, April 3rd, 2007 "Multiple vulnerability in X server,
++ libXfont and libX11":
++
++ xorg-xserver-1.2.0-xcmisc.diff
++ xorg-libXfont-1.2.7-bdf-fontdir.diff
++ xorg-libX11-1.1.1-xinitimage.diff
++
++nx-X11-3.0.0-25
++
++- Added the missing *.X.original file for ChkIfEv.c and Xlib.h.
++
++nx-X11-3.0.0-24
++
++- Changed Xrender to clean up the padding bytes in XRenderComposite-
++ Text functions.
++
++- Added function XRenderCleanGlyphs() cleaning the padding bytes in
++ the data section of RenderAddGlyphs requests.
++
++nx-X11-3.0.0-23
++
++- Removed the additional parameter from the call to NXTransFlush()
++ in _XReply().
++
++- Call NXTransExit() on AbortServer() (called by FatalError()) to
++ give the proxy a chance to shut down the NX transport.
++
++nx-X11-3.0.0-22
++
++- Moved the replacement of XCheckIfEvent() ChkIfEv.c with the name
++ XCheckIfEventNoFlush().
++
++nx-X11-3.0.0-21
++
++- Set BUFSIZE to 8192 bytes. While the output buffer size can be
++ configured by setting the XLIBBUFFERSIZE in the environment (see
++ OpenDis.c), this constant is still used when reading from the
++ socket.
++
++nx-X11-3.0.0-20
++
++- If set, the handler pointed by _NXDisplayWriteFunction is called
++ after that more data is written to the display connection.
++
++nx-X11-3.0.0-19
++
++- Added a RejectWellKnownSockets() stub to make possible to compile
++ the agent when the NX transport is disabled.
++
++- Added more useful logs to _XWaitForWritable().
++
++nx-X11-3.0.0-18
++
++- Changed Imakefile of X11 and Xserver in order to build nxcompshad
++ just before the NX agent server.
++
++- Changed Imakefile in Xserver to add NXdamage.o to NXAGENTOBJS.
++
++nx-X11-3.0.0-17
++
++- Changed host.def in order to build Xdamage and Xrandr libraries.
++
++- Changed host.def in order not to build NXWin.
++
++nx-X11-3.0.0-16
++
++- Changed host.def in order to build Xtst as a shared library.
++
++nx-X11-3.0.0-15
++
++- Changes to comply with nxcompshad library.
++
++- Changed configuration to statically build Xtst library.
++
++- Restored parser directory under Xserver/hw/xfree86.
++
++nx-X11-3.0.0-14
++
++- Changed the LICENSE file to state that the software is only made
++ available under the version 2 of the GPL.
++
++- Added file COPYING.
++
++- In nx-X11/programs and nx-X11/programs/Xserver/hw/xfree86, removed
++ files and directories not needed to build servers.
++
++nx-X11-3.0.0-13
++
++- Changes aimed to link servers with static versions of Xdmcp and Xau
++ libraries.
++
++nx-X11-3.0.0-12
++
++- Added references to implented FR in the ChangeLog.
++
++- Removed nx-X11/fonts and nx-X11/doc directories. They are not needed
++ for building the NX components.
++
++nx-X11-3.0.0-11
++
++- Updated the copyright notices to year 2007.
++
++nx-X11-3.0.0-10
++
++- Applied the following security patches:
++
++ x11r6.9.0-cidfonts.diff
++ x11r6.9.0-dbe-render.diff
++ x11r6.9.0-geteuid.diff
++ x11r6.9.0-mitri.diff
++ x11r6.9.0-setuid.diff
++
++nx-X11-3.0.0-9
++
++- Merged the NX changes to X11 with the X11R6.9.0 version of X.org.
++
++nx-X11-3.0.0-8
++
++- Changes to build Xshadow library when building X11.
++
++- Changes to Xserver Imakefile to link Xshadow library.
++
++- Changes to host.def in order to build on old distributions.
++
++nx-X11-3.0.0-7
++
++- Imported changes up to nx-X11-2.1.0-2
++
++- Fixed TR08D01485. Updated rgb file paths validation in order to
++ support Ubuntu distribution.
++
++- Added Xtst to libraries to be linked by nxagent.
++
++- Changed Xpm Imakefile to build a shared library on Solaris.
++
++- Fixed build error on Solaris in xtrans.
++
++- Changed host.def not to build Xnest server.
++
++- Changed Xserver Imakefile to link nxaccess library.
++
++nx-X11-3.0.0-6
++
++- Added the path of nxaccess library to the server link command.
++
++nx-X11-3.0.0-5
++
++- Implemented FR10C01079 and FR10C01080. The merge of NX changes to
++ the X.org code is complete.
++
++- Merged changes in config/cf. The NX-*.def files have been dismissed.
++ Main platform dependent configurations have been moved to host.def.
++
++- Removed *.reference files from config/cf.
++
++- Fixed compilation for Cygwin platform.
++
++nx-X11-3.0.0-4
++
++- Imported all changes up to nx-X11-2.0.0-32.
++
++- Cleaned up lib/zlib directory.
++
++- Added missing file programs/Xserver/os/utils.c.NX.original.
++
++- Updated the copyright notice to year 2006.
++
++- The pointer to the display buffer is reset after an I/O error.
++ This prevents leaving the buffer in an inconsistent state if the
++ error occurs inside _XFlush().
++
++- Removed the modifications to the Xrender library. The cleanup of
++ the padding bytes is now performed by the NX transport.
++
++- NX uses the updated ZLIB from its build tree, so Imake.tmpl will
++ now assume that the platform as ZLIB unless otherwise stated.
++
++- The path of the SecurityPolicy file is searched and validated at
++ runtime.
++
++- Added the _X11TransSocketProxyConnInfo() function to Xtranssock.c
++ It returns the pointer to the XtransConnInfo private, if it is a
++ valid _NXProxyConnInfo structure.
++
++- The above function is used by OpenDis.c to detect if the NX trans-
++ port was requested on the display and avoid spurious error messa-
++ ges in the case of a connection failure.
++
++- Added NXmiwindow.o to the NXAGENTOBJS in the Xserver's Imakefile
++ and imported NXmiwindow.c in nxagent. This allows us to check the
++ pointer to the pOldClip region in miSetShape() before going on
++ freeing it.
++
++- The path of the XKB base directory and of the xkbcomp comand is
++ validated at runtime.
++
++- Also added a check to verify the validity of the rgb file path.
++
++- Added NXresource.o to NXAGENTOBJS in the Imakefile of nxagent. We
++ need this to a assign a resource to the pixmaps and other server
++ objects which need to be enumerated at reconnection. Some objects,
++ being created by the X server and not by the clients, don't pass
++ through the resource assignment process operated by the dix. To
++ ensure that all objects get a resource, we add a resource at the
++ time the object is created and temporarily assign the resource to
++ the server client. If the dix later assigns the resource to a va-
++ lid client, the resource is removed from the server client's list.
++
++- The display block handler registered by the client is called in
++ WaitForReadable() and WaitForWritable() before every select(),
++ not only upon entering the function. The reason is that more
++ data can be possibly produced for the NX link by the proxy it-
++ self and, when setting the flush policy to deferred, the client
++ may not have the chance of flushing the NX link.
++
++- Fixed a bug in XkbUseExtension() that caused Xlib to query the
++ presence of the XKEYBOARD extension multiple times. This partial-
++ ly implents the FR01D01275. The complete implementation required
++ modifications to the X11 agent, implemented in nxagent-2.0.0-33.
++
++- Updated to comply with the new NXTransFlush() interface.
++
++- Both nxwin and nxagent now read the X authority file by using an
++ fopen() instead of the system command 'cat'.
++
++- Removed NXmiwindow.o from the NXAGENTOBJ list. The agent will now
++ use the original miwindow.c.
++
++- Added some additional logs in Xtranssock.c to follow the creation
++ and removal of the X server's Unix listener.
++
++- Avoided the sleep of 5 seconds forced by Xtransutil.c if the dir-
++ ectory where the Unix listener is created is not owned by root.
++ This sleep is not executed on Cygwin (where the X socket can be
++ hardly owned by root) but may delay the startup of the agent if
++ the user chose a different NX_TEMP directory. Furthermore, it is
++ unclear what real benefits such sleeps are intended to bring to
++ the security of the X server. This can be controlled by defining
++ the NX_TRANS_SLEEP directive in Xserver/os/Imakefile.
++
++- Added NXmiexpose.o to the NXAGENTOBJ.
++
++- Ensured that _X11TransSocketCloseConnInfo() now initiates the NX
++ shutdown by calling NXTransClose().
++
++- Corrected a misplaced #else that made SocketUNIXConnect() skip a
++ block if the connection was not to the NX transport.
++
++- Updated to comply with the new NX function prototypes introduced
++ in nxcomp-2.0.0-31.
++
++- Moved the most important Xtranssock.c modifications into separate
++ functions.
++
++- Ensured that the modifications enabling the internal connections
++ to the proxy are compiled only when the TRANS_CLIENT directive is
++ defined.
++
++- Solved a bug that prevented the X11 socket to be deleted at the X
++ server shutdown. This needs further tests.
++
++- Added nxcompext to the link of nxagent, now that the dependency
++ of libX11 from nxcompext is removed.
++
++- Improved the Xtranssock routines to never loop through the array
++ of connection info.
++
++- Added a congestion flag to the connection info structure and a
++ function querying the transport and reporting if a change in the
++ congestion state has occurred. The code is currently not enabled,
++ because instead of polling the transport, we let the proxy notify
++ the changes in congestion state by using the callback. The code
++ can be used in future to extend the library, for example, by add-
++ ing some counters tracking the bandwidth usage of the socket con-
++ nection, so that we can make the congestion notifications work
++ even with a plain X11 connection.
++
++- Profiled the routines in XlibInt.c to reduce the number of calls
++ to the error predicate function provided by the client.
++
++- Fixed the nxcompext build problem that caused make World to fail.
++
++- Added a 'CONF' target to the X11 and Xext Imakefiles so that the
++ configure script is not run if the config.status exists.
++
++- Added the _NXDisplayBlockHandler hook. The function is called by
++ Xlib before blocking. The parameter says if Xlib is going to wait
++ for more input or because it needs to write to the display socket.
++ The client can use the hook to perform any internal operation that
++ may require some time to complete. The user, though, should not
++ try to read or write to the display inside the callback routine.
++
++- Removed the outdated NX_TRANS_PROCESS, NX_TRANS_THREAD and NX_TR-
++ ANS_INCLUDE defines.
++
++- Reverted the lib/Xext Imakefile to the original XF86 version and
++ moved the build of the nxcompext library among the libX11 depend-
++ encies.
++
++- Corrected the lib/X11 Imakefile so that a new build of nxcomp and
++ nxcompext is not attempted if the libraries are up-to-date.
++
++- Removed the unused display buffer and image cleanup functions.
++
++- Reverted the PutImage.c file to the original XF86 version.
++
++- Added the _NXDisplayErrorPredicate function in XlibInt.c. It is
++ actually a pointer to a function called whenever Xlib is going to
++ perform a network operation. If the function returns true, the
++ call will be aborted and Xlib will return the control to the ap-
++ plication. It is up to the application to set the XlibDisplayIO-
++ Error flag after the _NXDisplayErrorPredicate returns true. The
++ function can be used to activate additional checks, besides the
++ normal failures detected by Xlib on the display socket. For exam-
++ ple, the application can set the funciton to verify if an inter-
++ rupt was received or if any other event occurred mandating the
++ end of the session.
++
++- Modified XIfEvent(), XMaskEvent() and XPeekIfEvent() to check the
++ _NXDisplayErrorPredicate function and return immediately if the
++ function returns true.
++
++- Modified _XWaitForReadable() to never enter the loop if the dis-
++ play is broken.
++
++- Corrected a make problem on Windows that caused the nxcomp and
++ nxcompext libraries to be referred with the wrong name, with the
++ result that a new configure and make was attempted at each build
++ attempt.
++
++- Merged all the changes to os, Xext, xkb, dix.
++
++- Changed host.def to build only the agent server.
++
++- Merged the changes to Xtranssock.c
++
++nx-X11-3.0.0-3
++
++- Merged the changes to lib/X11. Restored original PutImage.c and
++ ClDisplay.c files.
++
++nx-X11-3.0.0-2
++
++- Created a directory named 'reference' to keep files that are chan-
++ ged during the development of nx-X11 since the 1.5.0-16 to 2.0.0-32
++ version. These files will be removed as long as the differences are
++ merged to the 3.0.0 version. When all differences are merged, this
++ directory will be removed.
++
++nx-X11-3.0.0-1
++
++- Opened the 3.0.0 branch based on the nx-X11-2.0.0-9. The 3.0.0
++ branch will now support the migration toward the X.org tree. Due
++ to time concerns, the 2.0.0 branch is going to be based on the
++ same nx-X11 as the 1.5.0.
++
++nx-X11-2.0.0-9
++
++- Modified the agent link arguments to explicitly include the NX
++ libraries.
++
++- Disabled the Xinerama extension to avoid further clashes with
++ the redefinition of GC in Xlib.
++
++- Added os/libos.a at the end of the agent link.
++
++nx-X11-2.0.0-8
++
++- Moved the declarations of _NXEnable* and related structures from
++ Xlibint.h to NXlibint.h.
++
++- Added provision for building the agent. This can be controlled by
++ setting NXAgentServer to YES in host.def.
++
++- Setting the NXUpgradeAgentServer variable to YES in the host.def
++ file will make the agent assume that it is being built in the new
++ environment. This variable is normally unset when building in the
++ 1.5.0 tree.
++
++nx-X11-2.0.0-7
++
++- Fixed a problem on AMD64 due to the size of the area pointed by
++ the argument of _X11TransBytesReadable(). BytesReadable_t is long,
++ at least on Linux, while the ioctl() requires a pointer to an int.
++ The original _X11TransBytesReadable() function simply calls the
++ ioctl() by passing the pointer that is provided. NXTransReadable(),
++ instead, was correctly returning the value assuming a pointer to
++ a long, but this crashes some applications, among them xterm. Now
++ NXTransReadable() follows the same schema of the ioctl() call and
++ stores the result assuming a pointer to an int.
++
++- Removed the outdated NX_TRANS_PROCESS and NX_TRANS_THREAD code.
++
++nx-X11-2.0.0-6
++
++- Made xterm work with the NX transport. This required small changes
++ to the Xt toolkit's and the xterm's files to let them use the NX
++ aware select(). This is useful to test the NX transport until the
++ nxagent server is integrated.
++
++- When the transport is gone _X11TransSocketBytesReadable() returns
++ EPIPE. This makes the client become aware of the closure of the
++ connection.
++
++- Added a call to NXTransDestroy() in XCloseDisplay().
++
++- The exit() function in XlibInt.c causes a call to NXTransExit().
++
++- Merged changes to dix/pixmap.c, xkb/xkbDflts.h, mi/Imakefile.
++
++- Removed unneeded changes and files containing patches already in
++ the latest X.org distribution: dix/dispatch.c, fb/fbcompose.c, fb/
++ fbgc.c, xkb/ddxList.c, font/fontfile/dirfile.c, font/fontfile/
++ encparse.c, font/fontfile/fontfile.c, font/FreeType/fttools.c,
++ Xrender/FillRect.c, Xrender/Picture.c.
++
++nx-X11-2.0.0-5
++
++- Changes to the lib/X11/Imakefile to cleanly build the tree. This
++ is obtained by creating a link to the Xcomp library in exports/lib
++ without having to modify the programs' Imakefiles.
++
++- Finished merging the NX changes in the lib/X11 files.
++
++- Merged the CHANGELOG with the one from the 1.5.0 tree.
++
++nx-X11-2.0.0-4
++
++- Merged the NX changes in most Xtrans and lib/X11 files.
++
++nx-X11-2.0.0-3
++
++- Temporarily disabled the use of the MMX extensions in the Xserver's
++ fb code to successfully compile with GCC 4.
++
++nx-X11-2.0.0-2
++
++- Imported the *.NX.reference and *.XF86.reference files that will
++ be needed for the merge. These files are the *.original from the
++ 1.5.0 tree. They will be removed as long as the merge advances.
++
++nx-X11-2.0.0-1
++
++- Created the 2.0.0 branch based on X.org the 6.8.99.16 snapshot.
++
++nx-X11-1.5.0-16
++
++- Added the missing *.XF86.original and *.NX.original files.
++
++nx-X11-1.5.0-15
++
++- Made the nxagent server use select() instead of poll() on Solaris
++ so that it can leverage the new NX transport.
++
++- Moved the NXTransFlush() call to _XReply().
++
++nx-X11-1.5.0-14
++
++- Added the 'synchronous' parameter in the _XWaitForReadable() call
++ to NXTransFlush().
++
++nx-X11-1.5.0-13
++
++- Removed the log entry in XlibInt.c on calling the NXTransFlush().
++
++nx-X11-1.5.0-12
++
++- Changed XlibInt.c and utils.c to call NXTransExit().
++
++nx-X11-1.5.0-11
++
++- Changed XlibInt.c to comply with the new NXTransFlush() interfa-
++ ce introduced in nxcomp-1.5.0-42.
++
++- Cosmetic changes to messages printed for debug.
++
++nx-X11-1.5.0-10
++
++- Ensured that all calls to _XIOError() are followed by a return.
++
++- Put exiting the client program in the case of an I/O error under
++ the control of the _NXContinueOnDisplayError flag. If set, the
++ I/O error routine will simply return, leaving to the application
++ the responsibility of checking the state of the XlibDisplayIOEr-
++ ror flag.
++
++- Added some checks whenever a read or write is performed on the X
++ connection, so that we can exit the I/O loop if the X channel is
++ gone. It is likely that more work will be needed when trying to
++ support XTHREADS enabled connections. This should not be a pro-
++ blem for now, as the default is still to quit the application un-
++ less the _NXContinueOnDisplayError flag is explicitly set.
++
++nx-X11-1.5.0-9
++
++- Removed the references to the cygipc library in NXWin. Now use the
++ cygserver daemon to provide the MIT-SHM extension.
++
++- Fixed an error in the UseCygIPC definition.
++
++- Changed the cygwin.cf file to avoid redefinition of the BuildGlxExt,
++ XWinServer and BuildGlxExt symbols.
++
++nx-X11-1.5.0-8
++
++- Added provision for deferred writes in the NX transport. When en-
++ tering _XWaitForReadable() we must ensure that data is flushed to
++ the proxy link.
++
++- Added the UseCygIPC define to NX-Cygwin.def.
++
++- Updated the NoMachine copyright notice on the modified files.
++
++nx-X11-1.5.0-7
++
++- Added the GLX extension in NX-Sun.def.
++
++- Added some more logs in WaitFor.c.
++
++nx-X11-1.5.0-6
++
++- Modified Xlibint.h and XlibInt.c to remove the _NXFlushSize para-
++ meter. New agents run the NX transport in-process, so we don't get
++ any benefit from increasing the display buffer size.
++
++- Modified NX-Darwin.def to not build the NXDarwin server. Since the
++ 1.4.0 version the NXDarwin server is unsupported and the NX client
++ for the Mac requires that the Apple X server is installed.
++
++- Changed NX-Linux.def to avoid the warning due to "SharedLibGLw"
++ being not defined.
++
++nx-X11-1.5.0-5
++
++- Modified the Xserver Imakefile to link nxagent with FbPostFbLibs
++ and avoid including mfb/libmfb.a.
++
++- Added the GLX extension in NX-Linux.def. This provides unaccelera-
++ ted support in nxagent, with GLX operations translated into core X
++ protocol primitives.
++
++- Fixed x-X11/programs/Xserver/GL/dri/Imakefile to look in ../../hw/
++ /xfree86/os-support/bus for includes.
++
++nx-X11-1.5.0-4
++
++- Avoid calling NXTransSelect() if the transport is gone, so that we
++ don't have to wait until the timeout.
++
++- Added the "-fno-strict-aliasing" option to linux.cf when compiling
++ with a GCC version >= 4. In the words of Stefan Dirsch: "The opt-
++ ion, which is default since gcc 3.1, can result in wrong code when
++ the gcc warnings related to it are ignored. And as there are seve-
++ ral warnings in X11 related to it, it has been disabled for X11
++ from the beginning. This didn't change for gcc4, so it still needs
++ to be used."
++
++- Added more logs in XlibInt.c and utils.c. A warning is printed if
++ the SmartScheduler is initialized.
++
++nx-X11-1.5.0-3
++
++- Started integration of nxcomp with the X libraries. The Xtrans
++ code creates an internal connection to the nxcomp library instead
++ of a child proxy process.
++
++- Changed Xpoll.h and XlibInt.c to replace the standard Select
++ with a version giving NX a chance to check its own descriptors.
++
++- Implemented the NXTransReadVector() and the NXTransWriteVector()
++ functions to replace READV() and WRITEV().
++
++- Implemented memory-to-memory communication with the NX proxy by
++ making use of the NXTransAgent() interface.
++
++nx-X11-1.5.0-2
++
++- We think that the way LoadAuthorization() is working is wrong.
++ It doesn't reset the list of stored authorizations before reading
++ the new cookies. Our take is that if a new auth file is to be
++ read, the only cookies that are to be accepted are those that are
++ in the new file, not those in the file -plus- those that have
++ been in the file in the past. Furthermore, if the list can't be
++ read or it is empty, it should assume that it ignores which co-
++ okies are valid and thus it should disable any access. Your mile-
++ age can vary. A less draconian approach could be to leave the old
++ cookies if the file can't be read and remove them only if the
++ file is empty.
++
++ Adding the cookies without removing the old values for the same
++ protocol has an important implication. If an user shares the co-
++ okie with somebody and later wants to revoke the access to the
++ display, changing the cookie will not work. This is especially
++ important with NX. For security reasons, after reconnecting the
++ session to a different display, it is advisable to generate a
++ new set of cookies, but doing that it is useless with the current
++ code, as the old cookies are going to be still accepted. On the
++ same topic, consider that once an user has got access to the X
++ server, he/she can freely enable host authentication from any
++ host, so the safe behaviour should be to reset the host based
++ authenthication at least at reconnection, and keep as valid only
++ the cookies that are actually in the file. This behaviour would
++ surely break many applications, among them a SSH connection run
++ inside a NX session, as ssh -X reads the cookie for the display
++ only at session startup and does not read the cookies again
++ when the auth file is changed.
++
++ Another bug (or feature, depending on how you want to consider
++ it) is that if the authority file contains entries for different
++ displays (as it is the norm when the authority file is the default
++ .Xauthority in the user's home), the X server will match -any- of
++ the cookies, even cookies that are not for its own display. This
++ means that you have to be careful when passing an authority file
++ to nxagent and maybe keep separate files for letting nxagent find
++ the cookie to be used to connect to the remote display and for
++ letting it find what cookies to accept. If the file is the same,
++ clients will be able to connect to nxagent with both the cookies.
++ This bug obviously affects any X server, also the real X server
++ running on the workstation, so it is common to see nxagent being
++ able to connect to the X server even if no cookie matches the
++ real display.
++
++- Added a check in lib/Xau/AuRead.c to prevent the fread() call to
++ be interrupted by SIGCHLD while reading the auth file. Due to the
++ way the old code worked, this could lead to the server enabling
++ local host access to the display. This problem had been identified
++ in the past. We just found that all the code dealing with reading
++ the auth file was affected. The code calls sigprocmask() to block
++ the signal (though it leaves some other calls unprotected) but the
++ SIGCHLD was not included in the set.
++
++- Added SIGCHLD to the set of signals that are blocked when reading
++ the authorization file.
++
++- As I was at it, I changed the path to the SecurityPolicy file. A
++ few Linux ditributors ship the file in $LIBDIR/xserver, a few only
++ in /etc/X11/xserver, most others in both places. It seems that
++ those who ship in $LIBDIR/xserver do also in /etc/X11 but the op-
++ posite is not true, so I switched to /etc/X11.
++
++nx-X11-1.5.0-1
++
++- Opened the 1.5.0 branch.
++
++nx-X11-1.4.1-2
++
++- Set parameter UseCygIPC on cygwin conf file in order to force the
++ build of MIT-SHM estension.
++
++- Removed some spurius object file.
++
++nx-X11-1.4.1-1
++
++- Opened the 1.4.1 branch.
++
++nx-X11-1.4.0-8
++
++- Changed DefaultFontPath and DefaultRGBDatabase in
++ NX-Cygwin.def.
++
++nx-X11-1.4.0-7
++
++- Imported dispatch in nxdarwin package, in order to let
++ nxdarwin being able to detect new client connection.
++
++- Changed the Xpm Imakefile to make also .a static library
++ on Solaris. To link nxviewer and nxdestkop staticaly.
++
++nx-X11-1.4.0-6
++
++- XInput extension enabled on MacOSX.
++
++- Added some missing backup files of the original XFree86
++ package.
++
++nx-X11-1.4.0-5
++
++- Changed the mi Imakefile in order to let xfree86 servers use
++ the normal mi extension initialization for the XInput exten-
++ sion.
++
++- XInput extension enabled on Solaris.
++
++nx-X11-1.4.0-4
++
++- Removed the RejectWellKnownSocket for the cygwin and
++ MacOSX environments that doesn't use the Xtransport library.
++
++nx-X11-1.4.0-3
++
++- Changed the implementation of the reject method in the
++ Xtransport library, now close any new incoming connection
++ immediately without reading or writing to it.
++
++nx-X11-1.4.0-2
++
++- Implemented a reject method in the Xtransport library,
++ this function accept and close every connection attempt,
++ on the specified listening socket.
++
++- Added the new function RejectWellKnownSocket to the os
++ connection code.
++ This function use the new transport reject function on
++ all listening socket.
++
++nx-X11-1.4.0-1
++
++- Opened the 1.4.0 branch.
++
++- Removed forgotten nxagent-1.3.2-20 directory.
++
++nx-X11-1.3.2-9
++
++- Prevents NX Darwin server going through the reset. On Darwin
++ we found that the it is not possible to get the correct key-
++ board layout unless it is set on the local machine, before
++ the NX session is started, by using xmodmap. As we set the
++ keyboard locally, we must prevent the X server to reset, or
++ we would loose any local configuration.
++
++nx-X11-1.3.2-8
++
++- Removed action associated to keysym XK_Terminate_Server. This
++ could cause agent to be terminated when pressing shift + back-
++ space if using the default US keyboard mapping.
++
++- Disabled the remaining debug logs in lib/X11/PutImage.c
++
++nx-X11-1.3.2-7
++
++- Fixed the wrong programs/Xserver/Imakefile in 1.3.2-6 package.
++
++nx-X11-1.3.2-6
++
++- Changed the define from NX_CLEAN_IN_PLACE to NX_CLEAN_INPLACE.
++ Definition of symbol is now placed in the Imakefile.
++
++- The new _NXEnableCleanInplace Xlib variable does control which
++ algorithm is used to clean the images. Setting NX_IMAGEINPLACE
++ in the environment will activate the in-place cleanup.
++
++- The default value of _NXEnableCleanInplace is -1. Leaving it to
++ a value <= 0 disables use of CleanInplace.
++
++nx-X11-1.3.2-5
++
++- Patch in config/cf/sun.cf. Fix for libfontconfig compilation
++ during gmake Everything on Solaris.
++
++- Patch in lib/X11/Imakefile. Fix for nxcomp compilation during
++ gmake World on Solaris.
++
++nx-X11-1.3.2-4
++
++- Image cleanup is now performed by using NXCleanInPlaceImage from
++ nxcompext. This function saves a buffer copy by cleaning the
++ padding bytes in the same buffer provided by the caller. Note that
++ to prevent memory violations in the case the image was allocated
++ in a static buffer, the function will temporarily redefine the
++ SIGSEGV handler. The former handler is restored before returning
++ to the caller. This can potentially affect some multithreaded
++ clients. Is to be decided if the function is safe enough to be
++ included in the production release.
++
++nx-X11-1.3.2-3
++
++- More debug logs in programs/Xserver/xkb/ddxLoad.c.
++
++nx-X11-1.3.2-2
++
++- Added NXmiwindow.o to NXAGENTOBJS in programs/Xserver/Imakefile.
++ File was not linked into the resulting nxagent. This solves the
++ problem of missing repaints in CDE and other Xt applications.
++
++nx-X11-1.3.2-1
++
++- Added some debug logs in programs/Xserver/xkb/ddxLoad.c. Function
++ XkbDDXCompileKeymapByNames is called by OpenOffice to read the
++ keyboard configuration whenever a drop-down menu is accessed. It
++ seem to always fail with the following error:
++
++ The XKEYBOARD keymap compiler (xkbcomp) reports:
++ > Error: Can't find file "unknown" for geometry include
++ > Exiting
++ > Abandoning geometry file "default"
++
++- Opened the 1.3.2 development branch.
++
++nx-X11-1.3.1-12
++
++- Fixed a problem in xkb/ddxLoad.c on Solaris where Pclose was
++ always returning an error code despite the fact that command
++ was executed properly.
++
++nx-X11-1.3.1-11
++
++- Changed default GCC flags from '-O2 -fno-strength-reduce' to
++ -O3. No platform where NX is targeted is currently using a
++ GCC 2.x affected by the -fno-strength-reduce bug. Note also
++ that nxcomp is already compiled with -O3 since 1.1.1, so it
++ can be considered safe.
++
++nx-X11-1.3.1-10
++
++- Imported an updated fbcompose.c file from XFree86-4.3.99.902.
++ This fixes "uninitialized value" problems reported by Valgrind.
++
++- Fixed further buffer overflows by updating the following file
++ with recent versions coming from the XFree86-4.3.99.902 tree.
++
++ nx-X11/lib/font/fontfile/dirfile.c
++ nx-X11/lib/font/fontfile/encparse.c
++ nx-X11/lib/font/fontfile/fontfile.c
++
++- Fixed a possible buffer overflow in lib/font/FreeType/fttools.c.
++ Verified that the change is already in the XFree86 4.4.0 CVS.
++
++nx-X11-1.3.1-9
++
++- Fixed Xserver/Imakefile which was still referencing NXpixmap.o.
++
++nx-X11-1.3.1-8
++
++- Imported an updated fbgc.c from XFree86-4.3.99.902. This fixes
++ some minor problems reported by Valgrind.
++
++- A major problem was reported by Valgrind about reading after
++ the block allocated in fbCreatePixmap from AllocatePixmap. The
++ file pixmap.c has been modified so that 4 bytes are added to
++ the pixmap buffer at any new allocation. This quick hack should
++ solve the problem for both nxagent and the NXWin server. Further
++ investigation is planned for the next release.
++
++- Fixed Xtranssock.c to compile on Solaris where struct sigaction
++ doesn't have the sa_restorer member.
++
++nx-X11-1.3.1-5
++
++- Renamed the NX-sun.def configuration file to NX-Sun.def.
++
++- Renamed the non-standard NX_iPAQ_XServer and NX_Zaurus_XServer
++ symbols to NXiPAQXServer and NXZaurusXServer.
++
++- Added the missing sun.cf.XF86.original file in config/cf.
++
++- Added the missing empty file host.def.XF86.original in the
++ same directory.
++
++- Added initialization of sa.sa_mask when setting sigaction()
++ for SIGCHLD. The problem was reported by Valgrind running
++ nxagent.
++
++- Removed an unused block of code from WaitFor.c. The code had
++ been commented out in previous versions.
++
++- Removed the non-standard colon at the end of version in this
++ CHANGELOG.
++
++- Removed the spurious spaces in this CHANGELOG.
++
++nx-X11-1.3.1-4
++
++- Added a little workaround to the top Imakefile intended to
++ hide the makedepend warnings about non portable whitespaces
++ in sources.
++
++nx-X11-1.3.1-3
++
++- Fixed compilation problem with nxagent-1.3.1-13.
++
++nx-X11-1.3.1-2
++
++- Changes in NX-sun.def configuration file for Solaris to allow
++ compilation of the XKB extension.
++
++nx-X11-1.3.1-1
++
++- Opened the 1.3.1 development branch.
++
++nx-X11-1.3.0-6
++
++- Original output buffer size in stock XFree86 is 2048. We try
++ to reduce context switches and help stream compression by
++ increasing the maximum size of the buffer 8192. _NXFlushSize
++ determines when the display buffer is actually flushed. It is
++ set by default to 4096 but agents should set it to 0 if they
++ want to disable early flush.
++
++- Added the _NXLostSequenceFunction function pointer to let NX
++ agents suppress the error message and modify the default Xlib
++ behaviour when out-of-order sequence numbers are received.