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.
@@

Reply via email to