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

