From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3728 invoked by alias); 5 Jan 2004 07:09:25 -0000 Mailing-List: contact cygwin-xfree-announce-help@cygwin.com; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: cygwin-xfree-announce-owner@cygwin.com Received: (qmail 3599 invoked from network); 5 Jan 2004 07:08:49 -0000 Message-ID: <3FF90D85.5060704@msu.edu> Date: Mon, 05 Jan 2004 07:09:00 -0000 From: Harold L Hunt II Reply-To: cygx User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6b) Gecko/20031208 MIME-Version: 1.0 To: cygxannounce Subject: Updated: XFree86-xserv-4.3.0-31 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Virus: None found by Clam AV X-SW-Source: 2004-01/txt/msg00003.txt.bz2 List-Id: Announcement ============ The XFree86-xserv-4.3.0-31 package has been updated in the Cygwin distribution. Links ===== Server source, direct link: http://www.msu.edu/~huntharo/xwin/devel/server/xwin-20040105-0105.tar.bz2 (131 KiB) xc/programs/Xserver/hw/xwin (all files) diff against 4.3.0-29 (yes, the file has the wrong name, just live with it) source code: http://www.msu.edu/~huntharo/xwin/devel/server/xwin-4.3.0-30-to-4.3.0-31.diff (39 KiB) xc/programs/Xserver/Imakefile diff against XFree86 CVS: http://www.msu.edu/~huntharo/xwin/devel/server/xc-programs-Xserver-Imakefile-20040105-0105.diff (1 KiB) Changes ======= 1) General - Everything up to the last three entries describes the new clipboard handling system that does not steal ownership of the X11 selection each time that something is selected; this seems to work fine, but it needs to be tested. The last three entries describe my nearly complete attempt at generating a MIT-MAGIC-COOKIE-1, adding it to the list of cookies that the X Server recognizes, and using it when the clipboard client tries to connect during an XDMCP connection. This authentication approach should work, but I need a break from trying to figure out which of the function calls has a minor error in its parameters; thus, it does not currently work. However, feel free to examine the source code and let me know if any of my calls to GenerateAuthorization, AddResource, or XauWriteAuth are incorrect. I would really like to get this automatic authorization working as soon as possible. Until then I will mark this release (and all releases based upon it) as 'test'. 2) InitInput.c - Add a function, winProcSetSelectionOwner, and wrap the generic function ProcVector[X_SetSelectionOwner] with it. This allows us to get a notification each time the selection (clipboard) owner changes. Call SetClipboardData (foo, NULL) so that the WM_RENDERFORMAT message will be posted when a Win32 app requests the clipboard contents. (Harold L Hunt II, Alexander Gottwald) 3) winclipboardxevents.c/winClipboardFlushXEvents/SelectionNotify - No longer steal ownership of the selection each time it changes in X11. We can do this because we have notification when SetSelectionOwner is called (see above). (Harold L Hunt II) 4) winclipboardxevents.c/winClipboardFlushXEvents/SelectionClear - Remove handling, it is no longer needed; it used to request the contents of the selection that we lost ownership of. (Harold L Hunt II) 5) winclipboardwndproc.c/winClipboardWindowProc/WM_CREATE,WM_DESTROY - Add information to be used on each call to a window property. (Harold L Hunt II) 6) winclipboardwndproc.c/winClipboardWindowProc/WM_CREATE,WM_DESTROY,WM_CHANGECBCHAIN,WM_DRAWCLIPBOARD - Add ourselves to the clipboard viewer chain so that we receive notification when the clipboard contents are changed by a Win32 application. Our normal response to this is to call XSetSelectionOwner, but we specifically do nothing if we currently own the Win32 clipboard. (Harold L Hunt II) 7) winclipboardwndproc.c/winClipboardWindowProc/WM_RENDERFORMAT,WM_RENDERALLFORMATS - Request the contents of the X11 selection. Use XPeekIfEvent to wait until the response is added to our event queue (this could probably lead to a dead-lock of a client exists before responding), then call winClipboardFlushXEvents to handle the SelectionNotify event. UTF8 and CompoundText targets require that we call XConvertSelection from the SelectionNotify event, which will cause another SelectionNotify event to be fired; be careful to check for this and do the XPeekIfEvent/winClipboardFlushXEvents thing again if this is the case (this is untested because I did not see any UTF8 or CompoundText targets that needed conversion). Copy the returned contents to the Win32 clipboard with SetClipboardData (). (Harold L Hunt II) 8) winscrinit.c/winFinishScreenInitFB - Generate a MIT-MAGIC-COOKIE-1 cookie and add it to the server's list of cookies. (Harold L Hunt II) 9) winclipboardthread.c/winClipboardSaveXauthData - Add the generated MIT-MAGIC-COOKIE-1 cookie to the Xauthority file. Beware that this is hard-coded to 127.0.0.1:0 and that the entry is not cleaned up upon exit; this will force the host-based access to be disabled in some cases and could cause problems starting X Clients until this is fixed. (Harold L Hunt II) 10) xc/programs/Xserver/Imakefile - Add $(OS) to the XWINLIBS just after libXwin.a is included, which allows us to call unreferenced functions in libXau.a, such as XauWriteAuth. (Harold L Hunt II) -- Harold Hunt To update your installation, click on the "Install Cygwin now" link on the http://cygwin.com/ web page. This downloads setup.exe to your system. Once you've downloaded setup.exe, run it and select "XFree86" and then click on the appropriate field until the above announced version number appears if it is not displayed already. If your mirror doesn't yet have the latest version of this package after 24 hours, you can either continue to wait for that site to be updated or you can try to find another mirror. Please send questions or comments to the Cygwin/X mailing list at: cygwin-xfree@cygwin.com If you want to subscribe go to: http://cygwin.com/ml/cygwin-xfree/ I would appreciate if you would use this mailing list rather than emailing me directly. This includes ideas and comments about the setup utility or Cygwin/X in general. If you want to make a point or ask a question the Cygwin/X mailing list is the appropriate place.