I've put this change back for Nevada build 50, but if anyone wants to play
with xscreensaver 5.01 before that using our previous patch set, this should
be enough.
Changes since 5.00: * Backed out recent locale-related changes, since they
broke far more things than they fixed.
(from jwz's * Fail gracefully with ridiculously small window sizes.
changelog for 5.01) * `xflame' and `flag' ignore bitmap option on MacOS.
* `speedmine' prefs work on MacOS.
* Better explosions in `boxed'.
* More dynamic motion in `sproingies'.
* More options in `flipflop'.
* Minor updates to `topblock'.
* Various other minor fixes.
This release also incorporates several of the patches we submitted to jwz, so
we don't need to maintain them separately any more, including IPv6.patch,
apple2.patch, starfish.patch, topblock.patch, and the /etc/release portion
of solaris-paths.patch.
-Alan Coopersmith- alan.coopersmith at sun.com
Sun Microsystems, Inc. - X Window System Engineering
-------- Original Message --------
Description:
Upgrade upstream tarball from 5.00 to 5.01
Remove patches and portions of patches that we submitted to jwz and he
integrated into 5.01 tarball
Modify our PAM patches to adapt to jwz's addition of build time flag for allow
root password unlock (though we still use runtime flag instead).
[Most of the changes are just adjusting our previous patches to apply cleanly
to 5.01 instead of 5.00.]
Code Changes:
deleted: open-src/app/xscreensaver/IPv6.patch
deleted: open-src/app/xscreensaver/apple2.patch
deleted: open-src/app/xscreensaver/starfish.patch
deleted: open-src/app/xscreensaver/topblock.patch
###############################################################################
--- XW_NV/open-src/app/xscreensaver/Makefile 2006-09-13 13:49:59.615413000
-0700
+++ XW_NV/open-src/app/xscreensaver/Makefile 2006-09-19 16:52:59.324276000
-0700
@@ -30,7 +30,7 @@
# or other dealings in this Software without prior written authorization
# of the copyright holder.
#
-# @(#)Makefile 1.67 06/09/13
+# %W% %E%
#
PWD:sh=pwd
@@ -38,7 +38,7 @@
BUILD_TYPES=32
# Version number (used in path names)
-XSCREENSAVER_VERS=5.00
+XSCREENSAVER_VERS=5.01
# Source tarball
SOURCE_TARBALL_NAME=xscreensaver-$(XSCREENSAVER_VERS).tar.gz
@@ -60,7 +60,6 @@
i18n.patch \
debug-msgs.patch \
dpms.patch \
- IPv6.patch \
gl-error-capture.patch \
accessibility.patch \
trusted.patch \
@@ -68,10 +67,7 @@
bug-6450019.patch \
Sun-colors.patch \
barcode-hack.patch \
- starfish.patch \
glsnake.patch \
- apple2.patch \
- topblock.patch \
allowRootByPassFlag.patch
# Directory created by unpacking source
@@ -104,7 +100,7 @@
XS_CFG= --prefix=/usr/X11 --enable-maintainer-mode \
--with-gnome --enable-gtk-doc --with-gtk2=/usr --with-pixbuf=/usr \
--enable-locking --with-pam=/usr --without-shadow --without-kerberos \
- --with-dpms --enable-dpms --disable-screengrab \
+ --with-dpms --enable-dpms --disable-screengrab --enable-root-passwd \
--with-gl=$(OPENGL_DIR) --without-motif --with-jpeg=/usr \
--mandir='$${prefix}/share/man' --datadir='$${prefix}/share' \
--libexecdir='$${prefix}/lib/xscreensaver/bin' \
###############################################################################
--- XW_NV/open-src/app/xscreensaver/Sun-colors.patch 2006-08-09
19:43:39.090256000 -0700
+++ XW_NV/open-src/app/xscreensaver/Sun-colors.patch 2006-09-19
17:09:13.848605000 -0700
@@ -32,8 +32,8 @@
desktop.
diff -urp -x '*~' driver/XScreenSaver.ad.in driver/XScreenSaver.ad.in
---- driver/XScreenSaver.ad.in 2006-08-08 17:27:33.957438000 -0700
-+++ driver/XScreenSaver.ad.in 2006-08-08 17:27:40.097943000 -0700
+--- driver/XScreenSaver.ad.in 2006-09-19 17:09:08.203402000 -0700
++++ driver/XScreenSaver.ad.in 2006-09-19 17:09:13.618387000 -0700
@@ -293,7 +293,7 @@ GetViewPortIsFullOfLies: False
bubbles -root
\n\
pong -root \n\
@@ -45,7 +45,7 @@
substrate -root \n\
diff -urp -x '*~' hacks/glx/antinspect.c hacks/glx/antinspect.c
--- hacks/glx/antinspect.c 2006-02-25 12:13:26.000000000 -0800
-+++ hacks/glx/antinspect.c 2006-08-08 17:27:40.098471000 -0700
++++ hacks/glx/antinspect.c 2006-09-19 17:09:13.619018000 -0700
@@ -94,13 +94,13 @@ static const float position1[] = {-1.0,
static const float lmodel_ambient[] = {0.5, 0.5, 0.5, 1.0};
static const float lmodel_twoside[] = {GL_TRUE};
@@ -67,7 +67,7 @@
diff -urp -x '*~' hacks/glx/antmaze.c hacks/glx/antmaze.c
--- hacks/glx/antmaze.c 2006-03-14 19:55:05.000000000 -0800
-+++ hacks/glx/antmaze.c 2006-08-08 17:27:40.099297000 -0700
++++ hacks/glx/antmaze.c 2006-09-19 17:09:13.619973000 -0700
@@ -148,13 +148,13 @@ typedef struct {
static antmazestruct *antmaze = (antmazestruct *) NULL;
@@ -87,36 +87,9 @@
/* lighting variables */
static const GLfloat front_shininess[] = {60.0};
-diff -urp -x '*~' hacks/glx/flipflop.c hacks/glx/flipflop.c
---- hacks/glx/flipflop.c 2006-02-25 12:13:27.000000000 -0800
-+++ hacks/glx/flipflop.c 2006-08-08 17:27:40.744299000 -0700
-@@ -337,6 +337,10 @@ draw_sheet(void)
- glEnd();
- }
-
-+static const float sun_colors [ 3 ][ 3 ] = {
-+ { 0.3255, 0.5098, 0.6314 }, { 0.9059, 0.4353, 0.0 }, { 1.0, 0.7804, 0.1490 }
-+};
-+
- static void
- randsheet_initialize( randsheet *rs )
- {
-@@ -354,9 +358,9 @@ randsheet_initialize( randsheet *rs )
- rs->xpos[ index ] = i;
- rs->ypos[ index ] = j;
- /* have the square colors start out as a pattern */
-- rs->color[ index ][ 0 ] = ((i+j)%3 == 0)||((i+j+1)%3 == 0);
-- rs->color[ index ][ 1 ] = ((i+j+1)%3 == 0);
-- rs->color[ index ][ 2 ] = ((i+j+2)%3 == 0);
-+ rs->color[ index ][ 0 ] = sun_colors[(i+j)%3][0];
-+ rs->color[ index ][ 1 ] = sun_colors[(i+j)%3][1];
-+ rs->color[ index ][ 2 ] = sun_colors[(i+j)%3][2];
- ++index;
- }
- /* leave everything else empty*/
diff -urp -x '*~' hacks/glx/gears.c hacks/glx/gears.c
--- hacks/glx/gears.c 2006-03-12 03:15:36.000000000 -0800
-+++ hacks/glx/gears.c 2006-08-08 17:27:40.099886000 -0700
++++ hacks/glx/gears.c 2006-09-19 17:09:13.624041000 -0700
@@ -640,10 +640,10 @@ pinit(ModeInfo * mi)
{
gearsstruct *gp = &gears[MI_SCREEN(mi)];
@@ -133,9 +106,9 @@
int wire = MI_IS_WIREFRAME(mi);
int mono = MI_IS_MONO(mi);
diff -urp -x '*~' hacks/glx/sproingies.c hacks/glx/sproingies.c
---- hacks/glx/sproingies.c 2006-02-25 12:13:28.000000000 -0800
-+++ hacks/glx/sproingies.c 2006-08-08 17:27:40.100400000 -0700
-@@ -94,9 +94,9 @@ build_TopsSides(int wireframe)
+--- hacks/glx/sproingies.c 2006-09-18 14:45:17.000000000 -0700
++++ hacks/glx/sproingies.c 2006-09-19 17:09:13.657559000 -0700
+@@ -113,9 +113,9 @@ build_TopsSides(int wireframe)
/* Surface: Tops */
glNewList(dl_num, GL_COMPILE);
@@ -148,7 +121,7 @@
if (wireframe)
glColor3fv(mat_color);
else {
-@@ -110,9 +110,9 @@ build_TopsSides(int wireframe)
+@@ -129,9 +129,9 @@ build_TopsSides(int wireframe)
glColor3fv(mat_color);
else {
/* jwz: in wireframe mode, color tops and sides the same. */
@@ -163,7 +136,7 @@
glEndList();
diff -urp -x '*~' utils/colors.c utils/colors.c
--- utils/colors.c 2006-02-04 05:39:41.000000000 -0800
-+++ utils/colors.c 2006-08-08 17:27:40.100974000 -0700
++++ utils/colors.c 2006-09-19 17:09:13.658183000 -0700
@@ -598,6 +598,13 @@ make_uniform_colormap (Display *dpy, Vis
*ncolorsP = ncolors;
}
###############################################################################
--- XW_NV/open-src/app/xscreensaver/allowRootByPassFlag.patch 2006-09-13
13:49:59.778239000 -0700
+++ XW_NV/open-src/app/xscreensaver/allowRootByPassFlag.patch 2006-09-19
17:17:25.784149000 -0700
@@ -30,8 +30,9 @@
Fix for CR 6448236 xscreensaver should have option to control allowing root
to
unlock screen. Added allowRoot flag in XScreenSaver_ad.in which gets written to
~/.xscreensaver file through which you can allow if root has permission to
break
into a users locked screen, by typing in the root password.
---- driver/XScreenSaver.ad.in Wed Sep 13 11:45:13 2006
-+++ driver/XScreenSaver.ad.in Mon Sep 11 17:48:29 2006
+diff -urp -x '*~' driver/XScreenSaver.ad.in driver/XScreenSaver.ad.in
+--- driver/XScreenSaver.ad.in 2006-09-19 17:09:25.247483000 -0700
++++ driver/XScreenSaver.ad.in 2006-09-19 17:09:31.272293000 -0700
@@ -35,6 +35,7 @@
*lockTimeout: 0:30:00
*passwdTimeout: 0:02:00
@@ -40,12 +41,13 @@
*dpmsEnabled: True
*dpmsStandby: 0:24:00
*dpmsSuspend: 0:27:00
---- driver/passwd-pam.c Tue Sep 12 16:22:28 2006
-+++ driver/passwd-pam.c Wed Sep 13 11:35:51 2006
-@@ -646,32 +646,40 @@
- cannot delete it and is user function spec.
+diff -urp -x '*~' driver/passwd-pam.c driver/passwd-pam.c
+--- driver/passwd-pam.c 2006-09-19 17:09:25.244047000 -0700
++++ driver/passwd-pam.c 2006-09-19 17:09:31.273288000 -0700
+@@ -647,32 +647,40 @@ pam_passwd_valid_p (void)
*/
+ #ifdef ALLOW_ROOT_PASSWD
- /* If that didn't work, set the user to root, and try to authenticate
again.
- */
- if (user) free (user);
@@ -99,7 +101,7 @@
{
write_to_child (si, "pw_ok");
tmp_buf = strdup (_("Letting you in as ROOT!!"));
-@@ -682,12 +690,13 @@
+@@ -683,12 +691,13 @@ pam_passwd_valid_p (void)
sleep (1);
}
@@ -114,11 +116,12 @@
blurb(), pam_auth_status, PAM_STRERROR(pamh, pam_auth_status));
+ } /* if prefs.allowRoot is True */
- DONE:
- if (user) free (user);
---- driver/prefs.c Tue Sep 12 16:22:29 2006
-+++ driver/prefs.c Mon Sep 11 17:48:29 2006
-@@ -256,6 +256,7 @@
+ #endif /* ALLOW_ROOT_PASSWD */
+
+diff -urp -x '*~' driver/prefs.c driver/prefs.c
+--- driver/prefs.c 2006-09-19 17:09:25.231979000 -0700
++++ driver/prefs.c 2006-09-19 17:09:31.294427000 -0700
+@@ -256,6 +256,7 @@ static const char * const prefs[] = {
"lockTimeout",
"passwdTimeout",
"passwdTimeoutEnabled",
@@ -126,7 +129,7 @@
"visualID",
"installColormap",
"verbose",
-@@ -799,6 +800,7 @@
+@@ -799,6 +800,7 @@ write_init_file (Display *dpy,
CHECK("lockVTs") continue; /* don't save, unused */
CHECK("lockTimeout") type = pref_time, t = p->lock_timeout;
CHECK("passwdTimeout") type = pref_time, t = p->passwd_timeout;
@@ -134,7 +137,7 @@
/* *bugid 5077981 pwd timeout */
CHECK("passwdTimeoutEnabled") type = pref_bool, b = p->pwd_p;
-@@ -1117,6 +1119,7 @@
+@@ -1117,6 +1119,7 @@ load_init_file (Display *dpy, saver_pref
}
/* *bugid 5077981 pwd timeout */
p->pwd_p = get_boolean_resource (dpy, "passwdTimeoutEnabled",
"Boolean");
@@ -142,9 +145,10 @@
p->pointer_timeout = 1000 * get_seconds_resource (dpy, "pointerPollTime",
"Time");
p->pointer_hysteresis = get_integer_resource (dpy,
"pointerHysteresis","Integer");
p->notice_events_timeout = 1000*get_seconds_resource(dpy,
---- driver/prefs.h Wed Sep 13 12:31:07 2006
-+++ driver/prefs.h Mon Sep 11 17:48:29 2006
-@@ -55,6 +55,7 @@
+diff -urp -x '*~' driver/prefs.h driver/prefs.h
+--- driver/prefs.h 2006-09-19 17:09:25.232258000 -0700
++++ driver/prefs.h 2006-09-19 17:09:31.306751000 -0700
+@@ -55,6 +55,7 @@ struct saver_preferences {
Bool lock_p; /* whether to lock as well as save */
Bool pwd_p; /* whether to disable/enable pwd
timeout */
/* bugid 5077981 */
###############################################################################
--- XW_NV/open-src/app/xscreensaver/bug-6450019.patch 2006-08-09
19:43:33.240696000 -0700
+++ XW_NV/open-src/app/xscreensaver/bug-6450019.patch 2006-09-19
17:09:08.650013000 -0700
@@ -39,8 +39,8 @@
was letting user back in with expired passwd CR 6417168.
diff -urp -x '*~' driver/passwd-pam.c driver/passwd-pam.c
---- driver/passwd-pam.c 2006-08-08 15:25:38.341257000 -0700
-+++ driver/passwd-pam.c 2006-08-08 15:25:42.962275000 -0700
+--- driver/passwd-pam.c 2006-09-19 17:09:03.071424000 -0700
++++ driver/passwd-pam.c 2006-09-19 17:09:08.463282000 -0700
@@ -85,6 +85,13 @@ extern passwd_dialog_data* ptr_mygtkpwd;
extern saver_info *global_si_kludge;
extern Bool g_passwd_dialog_created;
@@ -71,7 +71,7 @@
/* Each time we successfully authenticate, refresh credentials,
for Kerberos/AFS/DCE/etc. If this fails, just ignore that
-@@ -635,6 +651,12 @@ pam_passwd_valid_p (void)
+@@ -636,6 +652,12 @@ pam_passwd_valid_p (void)
if (user) free (user);
user = strdup ("root");
c.user = user;
@@ -84,7 +84,7 @@
status = pam_set_item (pamh, PAM_USER, c.user);
if (verbose_p)
fprintf (stderr, "%s: pam_set_item(p, PAM_USER, \"%s\") ==> %d (%s)\n",
-@@ -857,8 +879,9 @@ pam_conversation (int nmsgs,
+@@ -860,8 +882,9 @@ pam_conversation (int nmsgs,
msg[replies]->msg);
/* For our hack to see if the user typed in root passwd to
unlock. */
###############################################################################
--- XW_NV/open-src/app/xscreensaver/gtk-lock.patch 2006-08-09
19:43:34.329937000
-0700
+++ XW_NV/open-src/app/xscreensaver/gtk-lock.patch 2006-09-19
17:08:15.293321000
-0700
@@ -46,9 +46,9 @@
models than just a single password for authentication.
diff -urp -x '*~' config.h.in config.h.in
---- config.h.in 2006-05-17 16:36:52.000000000 -0700
-+++ config.h.in 2006-08-09 14:26:27.988140000 -0700
-@@ -129,6 +129,9 @@
+--- config.h.in 2006-09-18 14:39:56.000000000 -0700
++++ config.h.in 2006-09-19 17:08:14.999476000 -0700
+@@ -132,6 +132,9 @@
/* Define this if you have Gtk 2.x. */
#undef HAVE_GTK2
@@ -59,9 +59,9 @@
you have /usr/include/hpsecurity.h, you probably have this.) I haven't
tested this one, let me know if it works. */
diff -urp -x '*~' configure.in configure.in
---- configure.in 2006-05-23 15:07:00.000000000 -0700
-+++ configure.in 2006-08-09 14:26:27.990806000 -0700
-@@ -1834,7 +1834,7 @@ if test "$enable_locking" = yes -a "$wit
+--- configure.in 2006-09-18 13:56:10.000000000 -0700
++++ configure.in 2006-09-19 17:08:15.011239000 -0700
+@@ -1858,7 +1858,7 @@ if test "$enable_locking" = yes -a "$wit
AC_DEFINE(HAVE_PAM)
AC_DEFINE_UNQUOTED(PAM_SERVICE_NAME,"$pam_service_name")
@@ -70,7 +70,7 @@
# libpam typically requires dlopen and dlsym. On FreeBSD,
# those are in libc. On Linux and Solaris, they're in libdl.
-@@ -2386,6 +2386,8 @@ if test "$with_gtk" = yes; then
+@@ -2432,6 +2432,8 @@ if test "$with_gtk" = yes; then
pkg_check_version libglade-2.0 1.99.0
pkg_check_version gdk-pixbuf-2.0 2.0.0
pkg_check_version gdk-pixbuf-xlib-2.0 2.0.0
@@ -79,7 +79,7 @@
have_gtk="$ok"
if test "$have_gtk" = no; then
-@@ -2401,6 +2403,9 @@ if test "$with_gtk" = yes; then
+@@ -2447,6 +2449,9 @@ if test "$with_gtk" = yes; then
fi
if test "$have_gtk" = yes; then
@@ -89,7 +89,7 @@
AC_CACHE_CHECK([for Gtk includes], ac_cv_gtk_config_cflags,
[ac_cv_gtk_config_cflags=`$pkg_config --cflags $pkgs`])
AC_CACHE_CHECK([for Gtk libs], ac_cv_gtk_config_libs,
-@@ -3414,6 +3419,28 @@ if test "$have_gtk" = yes; then
+@@ -3500,6 +3505,28 @@ if test "$have_gtk" = yes; then
ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
fi
@@ -118,7 +118,7 @@
if test "$have_kerberos" = yes; then
PASSWD_SRCS="$PASSWD_SRCS \$(KERBEROS_SRCS)"
-@@ -3556,6 +3583,11 @@ AC_SUBST(INCLUDES)
+@@ -3642,6 +3669,11 @@ AC_SUBST(INCLUDES)
AC_SUBST(PREFERRED_DEMO_PROGRAM)
AC_SUBST(ALL_DEMO_PROGRAMS)
@@ -130,7 +130,7 @@
AC_SUBST(SAVER_LIBS)
AC_SUBST(MOTIF_LIBS)
AC_SUBST(GTK_LIBS)
-@@ -4038,7 +4070,8 @@ HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" |
+@@ -4126,7 +4158,8 @@ HACK_CONF_DIR=`echo "${HACK_CONF_DIR}" |
# Sanity check the hackdir
@@ -141,8 +141,8 @@
echo ""
AC_MSG_ERROR([\"--with-hackdir=${bindir}/${bad_choice}\" won't work.
diff -urp -x '*~' driver/Makefile.in driver/Makefile.in
---- driver/Makefile.in 2006-08-09 14:26:22.840872000 -0700
-+++ driver/Makefile.in 2006-08-09 14:26:27.991816000 -0700
+--- driver/Makefile.in 2006-09-19 17:08:10.183708000 -0700
++++ driver/Makefile.in 2006-09-19 17:08:15.026509000 -0700
@@ -28,6 +28,7 @@ GTK_APPDIR = $(GTK_DATADIR)/applications
GTK_ICONDIR = $(GTK_DATADIR)/pixmaps
GTK_GLADEDIR = $(prefix)/lib/xscreensaver/config
@@ -220,7 +220,7 @@
install-ad: XScreenSaver.ad
@if [ ! -d $(install_prefix)$(AD_DIR) ]; then \
-@@ -734,7 +747,7 @@ $(SAVER_UTIL_OBJS):
+@@ -736,7 +749,7 @@ $(SAVER_UTIL_OBJS):
# How we build object files in this directory.
.c.o:
@@ -229,7 +229,7 @@
.m.o:
$(OBJCC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $<
-@@ -755,6 +768,19 @@ demo-Gtk-conf.o: demo-Gtk-conf.c
+@@ -757,6 +770,19 @@ demo-Gtk-conf.o: demo-Gtk-conf.c
$(CC) -c $(INCLUDES) $(CONF_DEFS) $(GTK_DEFS) $(CFLAGS) $(X_CFLAGS) \
$(srcdir)/demo-Gtk-conf.c
@@ -249,7 +249,7 @@
# How we build the default app-defaults file into the program.
#
-@@ -785,6 +811,15 @@ xscreensaver-demo: @PREFERRED_DEMO_PROGR
+@@ -787,6 +813,15 @@ xscreensaver-demo: @PREFERRED_DEMO_PROGR
cp -p @PREFERRED_DEMO_PROGRAM@@EXEEXT@ $@@EXEEXT@ ; \
fi
@@ -265,7 +265,7 @@
xscreensaver-demo-Xm: $(DEMO_OBJS) $(MOTIF_OBJS)
$(CC) $(LDFLAGS) -o $@ $(DEMO_OBJS) $(MOTIF_OBJS) $(LIBS) $(X_LIBS) \
$(MOTIF_LIBS) $(INTL_LIBS) $(X_PRE_LIBS) -lXt -lX11 \
-@@ -806,7 +841,7 @@ pdf2jpeg: $(PDF2JPEG_OBJS)
+@@ -808,7 +843,7 @@ pdf2jpeg: $(PDF2JPEG_OBJS)
TEST_PASSWD_OBJS = test-passwd.o $(LOCK_OBJS_1) $(PASSWD_OBJS) \
@@ -276,7 +276,7 @@
diff -urp -x '*~' driver/dpms.c driver/dpms.c
--- driver/dpms.c 2005-03-21 18:07:21.000000000 -0800
-+++ driver/dpms.c 2006-08-09 14:26:27.992239000 -0700
++++ driver/dpms.c 2006-09-19 17:08:15.026976000 -0700
@@ -50,6 +50,7 @@
#include <stdio.h>
@@ -287,7 +287,7 @@
diff -urp -x '*~' driver/lock.c driver/lock.c
--- driver/lock.c 2006-05-17 16:35:54.000000000 -0700
-+++ driver/lock.c 2006-08-09 14:26:27.994490000 -0700
++++ driver/lock.c 2006-09-19 17:08:15.056092000 -0700
@@ -23,6 +23,9 @@
#include <X11/Xos.h> /* for time() */
#include <time.h>
@@ -1242,7 +1242,7 @@
free (compose_status);
diff -urp -x '*~' driver/passwd-kerberos.c driver/passwd-kerberos.c
--- driver/passwd-kerberos.c 2005-06-21 20:20:11.000000000 -0700
-+++ driver/passwd-kerberos.c 2006-08-09 14:26:28.016423000 -0700
++++ driver/passwd-kerberos.c 2006-09-19 17:08:15.056804000 -0700
@@ -178,7 +178,7 @@ key_to_key(char *user, char *instance, c
some sites. So, we do a quick, painful hack with a tmpfile.
*/
@@ -1253,8 +1253,8 @@
# ifdef HAVE_DARWIN
return (klNoErr ==
diff -urp -x '*~' driver/passwd-pam.c driver/passwd-pam.c
---- driver/passwd-pam.c 2006-05-16 19:14:58.000000000 -0700
-+++ driver/passwd-pam.c 2006-08-09 14:26:28.017901000 -0700
+--- driver/passwd-pam.c 2006-09-18 14:01:00.000000000 -0700
++++ driver/passwd-pam.c 2006-09-19 17:08:15.067544000 -0700
@@ -39,11 +39,18 @@
#ifndef NO_LOCKING /* whole file */
@@ -1610,10 +1610,10 @@
+ cannot delete it and is user function spec.
+*/
+
+ #ifdef ALLOW_ROOT_PASSWD
/* If that didn't work, set the user to root, and try to authenticate
again.
*/
- if (user) free (user);
-@@ -302,26 +496,72 @@ pam_passwd_valid_p (const char *typed_pa
+@@ -303,13 +497,28 @@ pam_passwd_valid_p (const char *typed_pa
PAM_NO_DELAY(pamh);
set = block_sigchld();
@@ -1643,7 +1643,9 @@
+ fprintf (stderr, "%s: pam_authenticate as root user (...) ==> %d
(%s)\n",
+ blurb(), pam_auth_status, PAM_STRERROR(pamh, pam_auth_status));
- DONE:
+ #endif /* ALLOW_ROOT_PASSWD */
+
+@@ -317,14 +526,45 @@ pam_passwd_valid_p (const char *typed_pa
if (user) free (user);
if (pamh)
{
@@ -1691,7 +1693,7 @@
}
-@@ -341,6 +581,11 @@ pam_priv_init (int argc, char **argv, Bo
+@@ -344,6 +584,11 @@ pam_priv_init (int argc, char **argv, Bo
const char file2[] = "/etc/pam.conf";
struct stat st;
@@ -1703,7 +1705,7 @@
# ifndef S_ISDIR
# define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)
# endif
-@@ -367,6 +612,9 @@ pam_priv_init (int argc, char **argv, Bo
+@@ -370,6 +615,9 @@ pam_priv_init (int argc, char **argv, Bo
break;
}
fclose (f);
@@ -1713,7 +1715,7 @@
if (!ok)
{
fprintf (stderr,
-@@ -374,9 +622,12 @@ pam_priv_init (int argc, char **argv, Bo
+@@ -377,9 +625,12 @@ pam_priv_init (int argc, char **argv, Bo
"%s: password authentication via PAM is unlikely to
work.\n",
blurb(), file2, PAM_SERVICE_NAME, blurb());
}
@@ -1726,7 +1728,7 @@
else
{
fprintf (stderr,
-@@ -384,6 +635,7 @@ pam_priv_init (int argc, char **argv, Bo
+@@ -387,6 +638,7 @@ pam_priv_init (int argc, char **argv, Bo
"%s: password authentication via PAM is unlikely to work.\n",
blurb(), file2, file, blurb());
}
@@ -1734,7 +1736,7 @@
/* Return true anyway, just in case. */
return True;
-@@ -404,67 +656,144 @@ pam_priv_init (int argc, char **argv, Bo
+@@ -407,67 +659,144 @@ pam_priv_init (int argc, char **argv, Bo
would never see this string, and the prompted-for password would be
ignored.
*/
@@ -1908,7 +1910,7 @@
}
diff -urp -x '*~' driver/passwd.c driver/passwd.c
--- driver/passwd.c 2006-05-16 19:14:58.000000000 -0700
-+++ driver/passwd.c 2006-08-09 14:26:28.056099000 -0700
++++ driver/passwd.c 2006-09-19 17:08:15.073303000 -0700
@@ -49,11 +49,11 @@ struct auth_methods {
#ifdef HAVE_KERBEROS
@@ -1950,7 +1952,7 @@
diff -urp -x '*~' driver/setuid.c driver/setuid.c
--- driver/setuid.c 2006-02-08 18:33:29.000000000 -0800
-+++ driver/setuid.c 2006-08-09 14:26:28.056755000 -0700
++++ driver/setuid.c 2006-09-19 17:08:15.073889000 -0700
@@ -15,6 +15,7 @@
#endif
@@ -1972,8 +1974,8 @@
if (uid_errno == 0 && gid_errno == 0 && sgs_errno == 0)
diff -urp -x '*~' driver/subprocs.c driver/subprocs.c
---- driver/subprocs.c 2006-08-09 14:26:22.847052000 -0700
-+++ driver/subprocs.c 2006-08-09 14:26:28.058300000 -0700
+--- driver/subprocs.c 2006-09-19 17:08:10.188909000 -0700
++++ driver/subprocs.c 2006-09-19 17:08:15.079767000 -0700
@@ -20,6 +20,7 @@
#include <string.h>
@@ -2059,7 +2061,7 @@
#else /* VMS */
diff -urp -x '*~' driver/timers.c driver/timers.c
--- driver/timers.c 2005-11-28 02:14:22.000000000 -0800
-+++ driver/timers.c 2006-08-09 14:26:28.059781000 -0700
++++ driver/timers.c 2006-09-19 17:08:15.080886000 -0700
@@ -60,6 +60,12 @@ static Bool proc_interrupts_activity_p (
#endif /* HAVE_PROC_INTERRUPTS */
@@ -2177,7 +2179,7 @@
fprintf (stderr, "%s: dialog box is up: not raising screen.\n",
diff -urp -x '*~' driver/windows.c driver/windows.c
--- driver/windows.c 2006-05-14 22:13:54.000000000 -0700
-+++ driver/windows.c 2006-08-09 14:26:28.061233000 -0700
++++ driver/windows.c 2006-09-19 17:08:15.082113000 -0700
@@ -35,6 +35,7 @@
#include <X11/Xutil.h> /* for XSetClassHint() */
#include <X11/Xatom.h>
@@ -2215,8 +2217,8 @@
reset_watchdog_timer (si, False);
diff -urp -x '*~' driver/xscreensaver.c driver/xscreensaver.c
---- driver/xscreensaver.c 2006-08-09 14:26:22.878497000 -0700
-+++ driver/xscreensaver.c 2006-08-09 14:26:28.075976000 -0700
+--- driver/xscreensaver.c 2006-09-19 17:08:10.214882000 -0700
++++ driver/xscreensaver.c 2006-09-19 17:08:15.095484000 -0700
@@ -177,8 +177,21 @@
#include "visual.h"
#include "usleep.h"
@@ -2436,7 +2438,7 @@
XtRemoveTimeOut (si->lock_id);
diff -urp -x '*~' driver/xscreensaver.h driver/xscreensaver.h
--- driver/xscreensaver.h 2006-02-03 23:38:06.000000000 -0800
-+++ driver/xscreensaver.h 2006-08-09 14:26:28.077140000 -0700
++++ driver/xscreensaver.h 2006-09-19 17:08:15.096225000 -0700
@@ -126,6 +126,15 @@ struct saver_info {
privileged user. */
@@ -2574,7 +2576,7 @@
runtime privileges
diff -urp -x '*~' driver/xset.c driver/xset.c
--- driver/xset.c 2005-03-21 18:04:48.000000000 -0800
-+++ driver/xset.c 2006-08-09 14:26:28.077634000 -0700
++++ driver/xset.c 2006-09-19 17:08:15.096586000 -0700
@@ -19,6 +19,7 @@
#include <X11/Xutil.h>
#include <X11/Xatom.h>
###############################################################################
--- XW_NV/open-src/app/xscreensaver/pam_audit.patch 2006-08-09
19:43:34.756457000 -0700
+++ XW_NV/open-src/app/xscreensaver/pam_audit.patch 2006-09-19
17:15:21.178261000 -0700
@@ -33,8 +33,8 @@
6417168, P3, gnome/screensaver - xscreensaver loops while trying to unlock a
session for a user whose password was expired
diff -urp -x '*~' driver/Makefile.in driver/Makefile.in
---- driver/Makefile.in 2006-08-08 15:25:33.406256000 -0700
-+++ driver/Makefile.in 2006-08-08 15:25:38.339890000 -0700
+--- driver/Makefile.in 2006-09-19 17:08:58.014661000 -0700
++++ driver/Makefile.in 2006-09-19 17:09:03.064561000 -0700
@@ -215,7 +215,7 @@ PDF2JPEG_LIBS = -framework Cocoa
SAVER_LIBS = $(LIBS) $(X_LIBS) $(XMU_LIBS) @SAVER_LIBS@ \
$(XDPMS_LIBS) $(XINERAMA_LIBS) $(GL_LIBS) $(X_PRE_LIBS) \
@@ -45,8 +45,8 @@
CMD_LIBS = $(LIBS) $(X_LIBS) \
$(X_PRE_LIBS) -lX11 -lXext $(X_EXTRA_LIBS)
diff -urp -x '*~' driver/passwd-pam.c driver/passwd-pam.c
---- driver/passwd-pam.c 2006-08-08 15:25:33.120329000 -0700
-+++ driver/passwd-pam.c 2006-08-08 15:25:38.341257000 -0700
+--- driver/passwd-pam.c 2006-09-19 17:08:57.704528000 -0700
++++ driver/passwd-pam.c 2006-09-19 17:09:03.071424000 -0700
@@ -44,10 +44,12 @@
#ifdef HAVE_UNISTD_H
# include <unistd.h>
@@ -411,7 +411,7 @@
}
goto DONE;
-@@ -521,10 +669,11 @@ pam_passwd_valid_p (void)
+@@ -524,10 +672,11 @@ pam_passwd_valid_p (void)
DONE:
if (user) free (user);
@@ -424,7 +424,7 @@
if (verbose_p)
fprintf (stderr, "%s: pam_end (...) ==> %d (%s)\n",
blurb(), status2,
-@@ -554,6 +703,7 @@ pam_passwd_valid_p (void)
+@@ -557,6 +706,7 @@ pam_passwd_valid_p (void)
if (si->pw_data->passwd_string)
{
@@ -432,7 +432,7 @@
free (si->pw_data->passwd_string);
si->pw_data->passwd_string = 0;
}
-@@ -662,10 +812,10 @@ pam_conversation (int nmsgs,
+@@ -665,10 +815,10 @@ pam_conversation (int nmsgs,
struct pam_response **resp,
void *closure)
{
@@ -445,7 +445,7 @@
/* On SunOS 5.6, the `closure' argument always comes in as random garbage.
*/
c = (struct pam_closure *) suns_pam_implementation_blows;
-@@ -674,6 +824,7 @@ pam_conversation (int nmsgs,
+@@ -677,6 +827,7 @@ pam_conversation (int nmsgs,
fprintf(stderr, "-->pam_conv() \n");
reply = (struct pam_response *) calloc (nmsgs, sizeof (*reply));
@@ -453,7 +453,7 @@
if (!reply) return PAM_CONV_ERR;
for (replies = 0; replies < nmsgs; replies++)
-@@ -688,7 +839,6 @@ pam_conversation (int nmsgs,
+@@ -691,7 +842,6 @@ pam_conversation (int nmsgs,
make_passwd_window (si);
}
@@ -461,7 +461,7 @@
switch (msg[replies]->msg_style)
{
case PAM_PROMPT_ECHO_ON:
-@@ -698,8 +848,6 @@ pam_conversation (int nmsgs,
+@@ -701,8 +851,6 @@ pam_conversation (int nmsgs,
fprintf (stderr, "%s: PAM ECHO_OFF(\"%s\") ==> password\n",
blurb(), msg[replies]->msg);
@@ -470,7 +470,7 @@
write_to_child (si, msg[replies]->msg);
if (c->verbose_p)
sleep (1); /* let user see these */
-@@ -708,8 +856,36 @@ pam_conversation (int nmsgs,
+@@ -711,8 +859,36 @@ pam_conversation (int nmsgs,
fprintf(stderr, "PAM_ECHO_OFF/ECHO_ON msg[replies]-> %s\n",
msg[replies]->msg);
@@ -508,7 +508,7 @@
{
if (c->verbose_p)
fprintf(stderr,"WAiting for window id from lock dialog\n");
-@@ -719,13 +895,13 @@ pam_conversation (int nmsgs,
+@@ -722,13 +898,13 @@ pam_conversation (int nmsgs,
fprintf(stderr,"<---passwd_event_loop() state
=%d\n",si->pw_data->state);
}
@@ -525,7 +525,7 @@
fprintf(stderr, "in ECHO OFF and got a passwd..:%s\n",
si->pw_data->passwd_string);
}
-@@ -733,46 +909,44 @@ pam_conversation (int nmsgs,
+@@ -736,46 +912,44 @@ pam_conversation (int nmsgs,
{
/* this shouldnt happen...perhaps sending null passwd to pam
is
* best for now**/
@@ -579,7 +579,7 @@
break;
}
-@@ -780,16 +954,13 @@ pam_conversation (int nmsgs,
+@@ -783,16 +957,13 @@ pam_conversation (int nmsgs,
{
int i;
###############################################################################
--- XW_NV/open-src/app/xscreensaver/solaris-paths.patch 2006-08-09
19:43:35.147974000 -0700
+++ XW_NV/open-src/app/xscreensaver/solaris-paths.patch 2006-09-19
17:13:51.440718000 -0700
@@ -37,8 +37,8 @@
- Show author names when reading RSS feeds from sites like blogs.sun.com
diff -urp -x '*~' driver/Makefile.in driver/Makefile.in
---- driver/Makefile.in 2006-05-23 16:01:35.000000000 -0700
-+++ driver/Makefile.in 2006-08-09 15:42:26.024807000 -0700
+--- driver/Makefile.in 2006-09-18 19:36:40.000000000 -0700
++++ driver/Makefile.in 2006-09-19 17:08:05.690087000 -0700
@@ -26,7 +26,7 @@ INTLTOOL_MERGE = @INTLTOOL_MERGE@
GTK_DATADIR = @GTK_DATADIR@
GTK_APPDIR = $(GTK_DATADIR)/applications
@@ -63,11 +63,11 @@
LIBS = @LIBS@
diff -urp -x '*~' driver/XScreenSaver.ad.in driver/XScreenSaver.ad.in
---- driver/XScreenSaver.ad.in 2006-08-09 15:42:21.902455000 -0700
-+++ driver/XScreenSaver.ad.in 2006-08-09 15:44:48.663894000 -0700
+--- driver/XScreenSaver.ad.in 2006-09-19 17:08:01.418108000 -0700
++++ driver/XScreenSaver.ad.in 2006-09-19 17:08:05.692837000 -0700
@@ -96,7 +96,7 @@ GetViewPortIsFullOfLies: False
!
- @gnom...@*loadurl: gnome-open '%s'
+ @gnom...@*loadurl: @WITH_BROWSER@ '%s'
@gnom...@*manualcommand: gnome-terminal --title '%s manual' \
- at GNOME24@ --command '/bin/sh -c "man %s; read foo"'
+ at GNOME24@ --command '/bin/sh -c "man -M /usr/X11/man %s; read
foo"'
@@ -76,7 +76,7 @@
!
diff -urp -x '*~' driver/demo-Gtk.c driver/demo-Gtk.c
--- driver/demo-Gtk.c 2006-05-23 15:02:44.000000000 -0700
-+++ driver/demo-Gtk.c 2006-08-09 15:42:26.027370000 -0700
++++ driver/demo-Gtk.c 2006-09-19 17:08:05.695373000 -0700
@@ -924,7 +924,7 @@ restart_menu_cb (GtkWidget *widget, gpoi
flush_dialog_changes_and_save (s);
xscreensaver_command (GDK_DISPLAY(), XA_EXIT, 0, False, NULL);
@@ -96,8 +96,8 @@
}
diff -urp -x '*~' driver/subprocs.c driver/subprocs.c
---- driver/subprocs.c 2006-03-07 21:52:23.000000000 -0800
-+++ driver/subprocs.c 2006-08-09 15:42:26.052932000 -0700
+--- driver/subprocs.c 2006-09-14 00:03:53.000000000 -0700
++++ driver/subprocs.c 2006-09-19 17:08:05.712131000 -0700
@@ -14,6 +14,7 @@
# include "config.h"
#endif
@@ -193,7 +193,7 @@
if (monitor_powered_on_p (si))
{
int i;
-@@ -1186,7 +1233,7 @@ get_best_gl_visual (saver_screen_info *s
+@@ -1189,7 +1236,7 @@ get_best_gl_visual (saver_screen_info *s
char *av[10];
int ac = 0;
@@ -203,20 +203,9 @@
if (pipe (fds))
diff -urp -x '*~' driver/xscreensaver-text driver/xscreensaver-text
---- driver/xscreensaver-text 2006-04-14 19:29:49.000000000 -0700
-+++ driver/xscreensaver-text 2006-08-09 15:42:26.053609000 -0700
-@@ -374,6 +374,10 @@ sub output() {
- system ("cat", "/etc/redhat-release");
- }
-
-+ if (-f "/etc/release") { # "Solaris 10 3/05 s10_74L2a X86"
-+ safe_system ("head", "-1", "/etc/release");
-+ }
-+
- if (-f "/usr/sbin/system_profiler") { # "Mac OS X 10.4.5 (8H14)"
- my $sp = # "iMac G5"
- `/usr/sbin/system_profiler SPSoftwareDataType SPHardwareDataType`;
-@@ -660,12 +664,15 @@ sub reformat_rss($) {
+--- driver/xscreensaver-text 2006-09-14 00:35:46.000000000 -0700
++++ driver/xscreensaver-text 2006-09-19 17:08:05.712858000 -0700
+@@ -664,12 +664,15 @@ sub reformat_rss($) {
$i++;
my ($title, $body1, $body2, $body3);
@@ -232,7 +221,7 @@
# If there are both <description> and <content> or <content:encoded>,
# use whichever one contains more text.
#
-@@ -689,8 +696,9 @@ sub reformat_rss($) {
+@@ -693,8 +696,9 @@ sub reformat_rss($) {
$title = rss_field_to_html ($title || '');
$body1 = rss_field_to_html ($body1 || '');
###############################################################################
--- XW_NV/open-src/app/xscreensaver/trusted.patch 2006-08-09
19:43:35.358984000
-0700
+++ XW_NV/open-src/app/xscreensaver/trusted.patch 2006-09-19
17:08:58.563888000
-0700
@@ -31,9 +31,9 @@
Support needed for Solaris Trusted Extensions / Trusted Java Desktop System.
diff -urp -x '*~' configure.in configure.in
---- configure.in 2006-08-08 17:27:15.440757000 -0700
-+++ configure.in 2006-08-08 17:27:22.191138000 -0700
-@@ -3440,6 +3440,18 @@ fi
+--- configure.in 2006-09-19 17:08:52.782397000 -0700
++++ configure.in 2006-09-19 17:08:57.994986000 -0700
+@@ -3526,6 +3526,18 @@ fi
AC_SUBST([XPM_LOGO_FILE])
AC_SUBST([XPM_LOGO_NAME])
@@ -53,8 +53,8 @@
if test "$have_kerberos" = yes; then
diff -urp -x '*~' driver/Makefile.in driver/Makefile.in
---- driver/Makefile.in 2006-08-08 17:27:15.943106000 -0700
-+++ driver/Makefile.in 2006-08-08 17:27:22.192257000 -0700
+--- driver/Makefile.in 2006-09-19 17:08:52.909585000 -0700
++++ driver/Makefile.in 2006-09-19 17:08:58.014661000 -0700
@@ -103,6 +103,10 @@ GTK_OBJS = demo-Gtk.o demo-Gtk-conf.o @G
GTK_LOCK_SRCS = lock-Gtk.c remote.c
GTK_LOCK_OBJS = lock-Gtk.o remote.o
@@ -66,7 +66,7 @@
PWENT_SRCS = passwd-pwent.c
PWENT_OBJS = passwd-pwent.o
-@@ -774,8 +778,10 @@ lock.o:
+@@ -776,8 +780,10 @@ lock.o:
$(srcdir)/lock.c
# lock-Gtk takes extra -D and -I options.
@@