Patch-ID# 107180-31 Keywords: security memory leak system calls sdt_shell dtlogin null xsession read Synopsis: CDE 1.3: dtlogin patch Date: Jul/28/2004 Install Requirements: Reboot immediately after patch is installed See Special Install Instructions Solaris Release: 7 SunOS Release: 5.7 Unbundled Product: CDE Unbundled Release: 1.3 Xref: This patch available for x86 as 107181 Topic: Relevant Architectures: sparc BugId's fixed with this patch: 4072784 4170777 4178402 4178408 4178415 4178431 4179987 4184874 4185947 4189472 4190072 4190214 4198977 4201306 4205939 4210695 4213502 4225029 4225037 4233316 4236871 4237848 4239275 4240836 4242140 4245814 4246047 4250335 4256702 4259869 4262368 4267545 4273928 4274081 4275495 4276326 4293300 4293551 4299160 4302209 4346072 4449245 4668854 4840141 5022437 Changes incorporated in this version: 5022437 Patches accumulated and obsoleted by this patch: Patches which conflict with this patch: Patches required with this patch: 108376-18 or greater Obsoleted by: Files included with this patch: /usr/dt/bin/sdt_shell /usr/dt/config/C/Xresources /usr/dt/config/Xreset /usr/dt/config/Xsetup /usr/dt/config/Xstartup /usr/dt/bin/Xsession /usr/dt/bin/dtchooser /usr/dt/bin/dtlogin /usr/dt/config/Xinitrc.ow /usr/dt/config/Xsession.ow /usr/dt/config/images/Solaris.im8 /usr/dt/config/images/Solaris.im8g.Z /usr/dt/bin/dtgreet Problem Description: 5022437 dtlogin crash on bogus XDMCP request (from 107180-30) 4840141 /usr/dt/bin/Xsession makes invalid assumptions for hostname.domain (from 107180-29) 4668854 Solaris 8 Xsession do not read $shellprofile if DTSOURCEPROFILE TRUE (from 107180-28) 4449245 dtlogin assumes siginfo_t is not null in CatchUsr1 (from 107180-27) 4245814 Unnecessary system calls in sdt_shell 4233316 dtlogin has memory leak (from 107180-26) 4274081 Non-root logins become and remain effective owner of /usr/openwin/bin/ (from 107180-25) 4293551 dtsession in xinerama mode should (optionally) not center the logout dialog box (from 107180-24) 4210695 Last Corona login steals /dev/kbd etc from real console (from 107180-23) 4346072 dtlogin hangs and crashes under high system load (from 107180-22) 4299160 blank X windows screen while using remote dtlogin (from 107180-21) 4179987 dtlogin has umask incorrect using mask 002 instead of 022 that you set (from 107180-20) 4072784 change "sdtdbcache" to "dtdbcache" (from 107180-19) 4262368 Simultaneous specification of remote host may not work (from 107180-18) 4293300 Password prompt is not displayed after user name is entered 4276326 Dtlogin patch 107180-12 won't allow connections to indirect CDE_login_host (from 107180-17) 4302209 dtlogin/dtgreet ignores *matte.x and *matte.y resources (from 107180-16) 4256702 CDE logins are disabled after creating /etc/nologin file (from 107180-15) 4185947 On PGX32 with depth 8+24, Solaris logo has colormap corruption (from 107180-14) This revision has no new bug fixes. It was created to BADPATCH rev -13 due to a problem found with the patch packaging. (from 107180-13) 4267545 SUNRAY: dtlogin - remote login -> "Choose host From List" does no 4273928 Xserver for remote connection not killed on closedown 4275495 When remote login fails in ChooseHostFromList, users cannot go (from 107180-12) 4259869 Dtlogin does not present login screen after return from remote lo (from 107180-11) 4237848 Action 'Return to Local Host' sometimes does not work fine in dtl (from 107180-10) 4246047 dtlogin gets into loop calling wait, which returns ECHILD (from 107180-09) 4250335 3/3, cde/login - dtlogin misses SIGHUPs and won't bring up all of the configured c (from 107180-08) 4240836 Dtlogin sometimes ignores all child death signals 4242140 Sun Ray - login as root gets stuck in a loop, unable to enter a u 4239275 Primary dtlogin process can be killed when SIGUP/SIGUSR1 collide (from 107180-07) 4236871 In large configuration, all Corona units do not come up with BYPASS_LOGIN (from 107180-06) 4170777 "Start Over" can't be used. (from 107180-05) 4225029 dtlogin fails to protect for the receipt of SIGHUP at start-up 4225037 dtlogin sends unnecessary SIGHUPs to dtgreet processes. 4213502 X server can not open display, after coming back from remote window. (from 107180-04) 4198977 "LOGIN incorrect; please try again" message appears on top of dtlogin screen. (from 107180-03) 4205939 dtlogin sometimes fails to restart X servers (from 107180-02) 4201306 dtlogin crashes using valid Xaccess file with SIGSEGV (from 107180-01) 4178402 Xsession.ow doesn't check for /etc/dt/config/Xsession 4178408 Xinitrc.ow pauses for 15 seconds before starting desktop apps. 4178415 Xsession runs fbconsole program on non-console X sessions 4178431 dtlogin runs fbconsole program on non-console X Sessions 4184874 SIGHUP to dtlogin(1) kills essential system services 4189472 dtlogin(1) may fail to start Xservers when reconfigured 4190072 Error in SIGUP processing in dtlogin 4190214 dtlogin close down does not work correctly Patch Installation Instructions: -------------------------------- For Solaris 2.0-2.6 releases, refer to the Install.info file and/or the README within the patch for instructions on using the generic 'installpatch' and 'backoutpatch' scripts provided with each patch. For Solaris 7 release, refer to the man pages for instructions on using 'patchadd' and 'patchrm' scripts provided with Solaris. Any other special or non-generic installation instructions should be described below as special instructions. The following example installs a patch to a standalone machine: example# patchadd /var/spool/patch/104945-02 The following example removes a patch from a standalone system: example# patchrm 104945-02 For additional examples please see the appropriate man pages. Special Install Instructions: ----------------------------- NOTE 1: If the system that this patch is being applied to is a SunRay server, then a reboot is required after the patch has been installed. NOTE 2: To get the fix for any bug which affects /usr/dt/bin/dtlogin, all dtlogin processes including the parent dtlogin process must be stopped and restarted. On a SunRay server, the recommended procedure is to reboot the server. For all other workstations or servers, execute the following command as root: /usr/dt/config/dtlogin.rc stop sleep 60 /usr/dt/config/dtlogin.rc start Special Notes: -------------- NOTE 1: RFE 4293551 dtsession in xinerama mode should (optionally) not center the logout dialog box ===================================================================== Sun(tm) delivers a version of CDE that has been extended to provide some basic support when run in multi-headed Xinerama mode. This support is to make the positioning of the following CDE dialogs resource configurable: - Login (a.k.a. dtgreet) - Logout Confirmation - Unlock Display - Restart Workspace Confirmation - Move/Resize Coordinates. The reason for making these dialogs configurable in terms of their window positioning is obvious, they are all non-movable. That is, these dialogs are all centered in the logical screen regardless of the number of physical monitors available. Without the ability to configure these dialogs, they will be split across monitors and will cause many ease-of-use issues. CDE patches (107180-25, 107226-13, 107702-07, or newer) and the Xsun patch (108376-18, or newer), when installed together, allow the user to configure the positioning of the previously mentioned dialogs using the following X resources: xineramaDefaultFramebuffer xineramaCenterHintX xineramaCenterHintY Resource Description ======================== If the xineramaDefaultFramebuffer resource has a value between 0 and (n-1), within the Xinerama screen, then dialogs will be centered on that framebuffer. If the xineramaDefaultFramebuffer resource has a value of -1, then dialogs will be centered using the values in xineramaCenterHintX and xineramaCenterHintY. To set resources system-wide, copy Xresources and sys.resources from /usr/dt/config/C to /etc/dt/config/C and add the appropriate lines. Setting resources in the Xresources file affects Login, while setting them in sys.resources affects Logout Confirmation, Unlock Display, Restart Workspace Confirmation, and Move/Resize Coordinates. Note that the resources for dtlogin, and thus the position of the Login dialog, cannot be set on a per-user basis on a single machine because dtgreet is run from root before the user is identified. The position of the other dialogs can be set on a per-user basis by creating or modifying the appropriate resource files in the user's HOME directory, .Xdefaults. The X resources have no effect if Xinerama is not being used or if their default values are -1. Example of using these resources ================================ The following are a few examples assuming a two-headed system. 1) To set Login, Logout Confirmation, Restart Workspace Manager Confirmation, Unlock Display and the Resize/Move Coordinate dialogs centered on the first screen: *xineramaDefaultFramebuffer: 0 in both Xresources and sys.resources files. Alternatively to have these dialogs centered on the second screen: *xineramaDefaultFramebuffer: 1 in both Xresources and sys.resources files. 2) If desired, these dialogs do not have to be centered on a particular screen. Instead you can position them anywhere within the entire Xinerama screen by setting their X and Y coordinates. Taking a two-headed system, each screen is 1024 pixels high by 1024 pixels wide, it is possible to place the dialogs in the lower left part of the second screen. To position the dialogs 100 pixels to the left of the second screen and 200 pixels from the bottom, set the following resources: *xineramaDefaultFramebuffer: -1 *xineramaCenterHintX: 1124 *xineramaCenterHintY: 824 README -- Last modified date: Wednesday, July 28, 2004