~ubuntu-branches/ubuntu/utopic/xdm/utopic

« back to all changes in this revision

Viewing changes to debian/patches/xdm_fixes.diff

  • Committer: Bazaar Package Importer
  • Author(s): David Nusinow, Eugene Konev
  • Date: 2006-06-30 00:42:11 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20060630004211-m2ntbay7eepml8pb
Tags: 1:1.0.5-1
[ Eugene Konev ]
* New upstream release. Fixes security bug on linux-2.6 kernels.
* Don't build-depend on libselinux1-dev on non-linux arches, thanks
  Michael Banck and Christian Perrier (closes: #369519)
* Fix init script reload target, thanks Alexandr Kazda (closes: #365548)
* Fix authDir reference in xdm(1), thanks Kevin Ryde (closes: #373138)
* Update README.Debian, thanks Kevin Ryde (closes: #373870)
* Pass APP_MAN_SUFFIX=1 to configure explicitely.

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
# Parent  77625b567802c5b6977eddb845f391e65a8733d0
5
5
Applied 002_xdm_fixes.diff
6
6
 
7
 
Index: xdm-X11R7.0-1.0.1/access.c
 
7
Index: xdm/access.c
8
8
===================================================================
9
 
--- xdm-X11R7.0-1.0.1.orig/access.c     2006-01-09 14:12:52.000000000 +0700
10
 
+++ xdm-X11R7.0-1.0.1/access.c  2006-01-09 14:22:26.000000000 +0700
 
9
--- xdm.orig/access.c   2006-04-29 14:55:31.000000000 -0400
 
10
+++ xdm/access.c        2006-04-29 18:55:26.000000000 -0400
11
11
@@ -343,8 +343,8 @@
12
12
 
13
13
        if (!addr)
46
46
            return 0;
47
47
        }
48
48
        ReadAccessDatabase (datafile);
49
 
Index: xdm-X11R7.0-1.0.1/auth.c
 
49
Index: xdm/auth.c
50
50
===================================================================
51
 
--- xdm-X11R7.0-1.0.1.orig/auth.c       2006-01-09 14:12:52.000000000 +0700
52
 
+++ xdm-X11R7.0-1.0.1/auth.c    2006-01-09 14:22:26.000000000 +0700
 
51
--- xdm.orig/auth.c     2006-04-29 15:04:40.000000000 -0400
 
52
+++ xdm/auth.c  2006-04-29 18:55:26.000000000 -0400
53
53
@@ -48,6 +48,7 @@
54
54
 #include "dm_error.h"
55
55
 
325
325
     XauUnlockAuth (name);
326
326
+    Debug ("done RemoveUserAuthorization\n");
327
327
 }
328
 
Index: xdm-X11R7.0-1.0.1/choose.c
 
328
Index: xdm/choose.c
329
329
===================================================================
330
 
--- xdm-X11R7.0-1.0.1.orig/choose.c     2006-01-09 14:12:52.000000000 +0700
331
 
+++ xdm-X11R7.0-1.0.1/choose.c  2006-01-09 14:22:26.000000000 +0700
 
330
--- xdm.orig/choose.c   2006-04-29 14:55:31.000000000 -0400
 
331
+++ xdm/choose.c        2006-04-29 18:55:26.000000000 -0400
332
332
@@ -191,8 +191,8 @@
333
333
 
334
334
     if (GetChooserAddr ((char *)addr_buf, &addr_len) == -1)
487
487
     exit (REMANAGE_DISPLAY);
488
488
 }
489
489
 
490
 
Index: xdm-X11R7.0-1.0.1/config/Xresources.cpp
 
490
Index: xdm/config/Xresources.cpp
491
491
===================================================================
492
 
--- xdm-X11R7.0-1.0.1.orig/config/Xresources.cpp        2006-01-09 14:12:52.000000000 +0700
493
 
+++ xdm-X11R7.0-1.0.1/config/Xresources.cpp     2006-01-09 14:22:26.000000000 +0700
 
492
--- xdm.orig/config/Xresources.cpp      2006-04-29 14:55:31.000000000 -0400
 
493
+++ xdm/config/Xresources.cpp   2006-04-29 18:55:26.000000000 -0400
494
494
@@ -28,22 +28,25 @@
495
495
 #endif /* XPM */
496
496
 xlogin*fail: Login incorrect
548
548
 xlogin*useShape: true
549
549
 xlogin*logoPadding: 10
550
550
 #endif /* XPM */
551
 
Index: xdm-X11R7.0-1.0.1/daemon.c
552
 
===================================================================
553
 
--- xdm-X11R7.0-1.0.1.orig/daemon.c     2006-01-09 14:12:52.000000000 +0700
554
 
+++ xdm-X11R7.0-1.0.1/daemon.c  2006-01-09 14:35:45.000000000 +0700
555
 
@@ -106,40 +106,34 @@
556
 
 
557
 
     /* If our C library has the daemon() function, just use it. */
558
 
 #ifdef HAS_DAEMON
559
 
-    daemon (0, 0);
560
 
+    if ((daemon (0, 1)) == -1) {
561
 
+       if (errno) {
562
 
+           LogError ("unable to daemonize: %s\n", _SysErrorMsg (errno));
563
 
+       } else {
564
 
+           LogError ("unable to daemonize\n");
565
 
+       }
566
 
+    }
567
 
 #else
568
 
     switch (fork()) {
569
 
     case -1:
570
 
-       /* error */
571
 
-       LogError("daemon fork failed, %s\n", strerror(errno));
572
 
-       exit(1);
573
 
-       break;
574
 
+        /* error */
575
 
+        LogError("daemon fork failed, %s\n", strerror(errno));
576
 
+        exit(1);
577
 
+        break;
578
 
     case 0:
579
 
-       /* child */
580
 
-       break;
581
 
+        /* child */
582
 
+        break;
583
 
     default:
584
 
-       /* parent */
585
 
-       exit(0);
586
 
+        /* parent */
587
 
+        exit(0);
588
 
     }
589
 
 
590
 
     if (setsid() == -1) {
591
 
-       LogError("setting session id for daemon failed: %s\n",
592
 
-                  strerror(errno));
593
 
-       exit(1);
594
 
+        LogError("setting session id for daemon failed: %s\n",
595
 
+                 strerror(errno));
596
 
+        exit(1);
597
 
     }
598
 
 
599
 
     chdir("/");
600
 
-
601
 
-    close (0);
602
 
-    close (1);
603
 
-    close (2);
604
 
-
605
 
-
606
 
-    /*
607
 
-     * Set up the standard file descriptors.
608
 
-     */
609
 
-    (void) open ("/dev/null", O_RDWR);
610
 
-    (void) dup2 (0, 1);
611
 
-    (void) dup2 (0, 2);
612
 
 #endif /* HAS_DAEMON */
613
 
 }
614
 
Index: xdm-X11R7.0-1.0.1/dm.c
615
 
===================================================================
616
 
--- xdm-X11R7.0-1.0.1.orig/dm.c 2006-01-09 14:12:53.000000000 +0700
617
 
+++ xdm-X11R7.0-1.0.1/dm.c      2006-01-09 17:25:02.000000000 +0700
 
551
Index: xdm/dm.c
 
552
===================================================================
 
553
--- xdm.orig/dm.c       2006-04-29 14:55:31.000000000 -0400
 
554
+++ xdm/dm.c    2006-04-29 18:55:26.000000000 -0400
618
555
@@ -40,6 +40,7 @@
619
556
 # include      "dm_error.h"
620
557
 
1168
1105
 }
1169
1106
-#endif
1170
1107
+#endif /* HAS_SETPROCTITLE */
1171
 
Index: xdm-X11R7.0-1.0.1/dm_auth.h
 
1108
Index: xdm/dm_auth.h
1172
1109
===================================================================
1173
 
--- xdm-X11R7.0-1.0.1.orig/dm_auth.h    2006-01-09 14:12:53.000000000 +0700
1174
 
+++ xdm-X11R7.0-1.0.1/dm_auth.h 2006-01-09 14:22:26.000000000 +0700
 
1110
--- xdm.orig/dm_auth.h  2006-04-29 14:55:31.000000000 -0400
 
1111
+++ xdm/dm_auth.h       2006-04-29 18:55:26.000000000 -0400
1175
1112
@@ -45,7 +45,7 @@
1176
1113
 #ifdef HASXDMAUTH
1177
1114
 extern void    XdmInitAuth (unsigned short name_len, char *name);
1210
1147
 
1211
1148
 #ifdef SECURE_RPC
1212
1149
 extern void    SecureRPCInitAuth (unsigned short name_len, char *name);
1213
 
Index: xdm-X11R7.0-1.0.1/dm_error.h
 
1150
Index: xdm/dm_error.h
1214
1151
===================================================================
1215
 
--- xdm-X11R7.0-1.0.1.orig/dm_error.h   2006-01-09 14:12:53.000000000 +0700
1216
 
+++ xdm-X11R7.0-1.0.1/dm_error.h        2006-01-09 14:22:26.000000000 +0700
 
1152
--- xdm.orig/dm_error.h 2006-04-29 14:55:31.000000000 -0400
 
1153
+++ xdm/dm_error.h      2006-04-29 18:55:26.000000000 -0400
1217
1154
@@ -50,7 +50,6 @@
1218
1155
 extern void LogInfo      (char * fmt, ...) GCC_PRINTFLIKE(1,2);
1219
1156
 extern void LogOutOfMem  (char * fmt, ...) GCC_PRINTFLIKE(1,2);
1222
1159
 
1223
1160
 
1224
1161
 #endif /* _DM_ERROR_H_ */
1225
 
Index: xdm-X11R7.0-1.0.1/error.c
 
1162
Index: xdm/error.c
1226
1163
===================================================================
1227
 
--- xdm-X11R7.0-1.0.1.orig/error.c      2006-01-09 14:12:53.000000000 +0700
1228
 
+++ xdm-X11R7.0-1.0.1/error.c   2006-01-09 14:22:26.000000000 +0700
 
1164
--- xdm.orig/error.c    2006-04-29 14:55:31.000000000 -0400
 
1165
+++ xdm/error.c 2006-04-29 18:55:26.000000000 -0400
1229
1166
@@ -34,23 +34,41 @@
1230
1167
  *
1231
1168
  * error.c
1412
1349
+                    _SysErrorMsg (errno));
1413
1350
+    }
1414
1351
 }
1415
 
Index: xdm-X11R7.0-1.0.1/file.c
 
1352
Index: xdm/file.c
1416
1353
===================================================================
1417
 
--- xdm-X11R7.0-1.0.1.orig/file.c       2006-01-09 14:12:53.000000000 +0700
1418
 
+++ xdm-X11R7.0-1.0.1/file.c    2006-01-09 14:22:26.000000000 +0700
 
1354
--- xdm.orig/file.c     2006-04-29 14:55:31.000000000 -0400
 
1355
+++ xdm/file.c  2006-04-29 18:55:26.000000000 -0400
1419
1356
@@ -152,14 +152,14 @@
1420
1357
        return;
1421
1358
     if (!args[0])
1458
1395
                d->name, d->class ? d->class : "", type);
1459
1396
     }
1460
1397
     d->displayType = displayType;
1461
 
Index: xdm-X11R7.0-1.0.1/genauth.c
 
1398
Index: xdm/genauth.c
1462
1399
===================================================================
1463
 
--- xdm-X11R7.0-1.0.1.orig/genauth.c    2006-01-09 14:12:54.000000000 +0700
1464
 
+++ xdm-X11R7.0-1.0.1/genauth.c 2006-01-09 14:22:26.000000000 +0700
 
1400
--- xdm.orig/genauth.c  2006-04-29 14:55:31.000000000 -0400
 
1401
+++ xdm/genauth.c       2006-04-29 18:55:26.000000000 -0400
1465
1402
@@ -34,14 +34,16 @@
1466
1403
  * Author:  Keith Packard, MIT X Consortium
1467
1404
  */
1531
1468
                 randomDevice, errno);
1532
1469
 #endif /* DEV_RANDOM */
1533
1470
     /*  Try some pseudo-random number genrator daemon next */
1534
 
Index: xdm-X11R7.0-1.0.1/greeter/Login.c
 
1471
Index: xdm/greeter/Login.c
1535
1472
===================================================================
1536
 
--- xdm-X11R7.0-1.0.1.orig/greeter/Login.c      2006-01-09 14:12:54.000000000 +0700
1537
 
+++ xdm-X11R7.0-1.0.1/greeter/Login.c   2006-01-09 14:22:26.000000000 +0700
1538
 
@@ -863,7 +863,7 @@
 
1473
--- xdm.orig/greeter/Login.c    2006-04-29 15:04:41.000000000 -0400
 
1474
+++ xdm/greeter/Login.c 2006-04-29 18:55:26.000000000 -0400
 
1475
@@ -864,7 +864,7 @@
1539
1476
        xim = XOpenIM(XtDisplay(ctx), NULL, NULL, NULL);
1540
1477
 
1541
1478
     if (!xim) {
1544
1481
        return;
1545
1482
     }
1546
1483
 
1547
 
@@ -873,7 +873,7 @@
 
1484
@@ -874,7 +874,7 @@
1548
1485
        XNFocusWindow,  ctx->core.window, NULL);
1549
1486
 
1550
1487
     if (!ctx->login.xic) {
1553
1490
        XCloseIM(xim);
1554
1491
     }
1555
1492
     return;
1556
 
@@ -1099,16 +1099,16 @@
 
1493
@@ -1102,16 +1102,16 @@
1557
1494
 #ifdef XPM
1558
1495
     w->login.logoValid = False;
1559
1496
 
1573
1510
                 w->login.logoFileName);
1574
1511
             w->login.logoValid = False;
1575
1512
             goto SkipXpmLoad;
1576
 
@@ -1117,14 +1117,16 @@
1577
 
         myAttributes.valuemask |= XpmReturnPixels;
1578
 
         myAttributes.valuemask |= XpmReturnExtensions;
1579
 
 
1580
 
-        XpmReadFileToPixmap(XtDisplay(w),            /* display */
1581
 
+        if (XpmReadFileToPixmap(XtDisplay(w),        /* display */
1582
 
             RootWindowOfScreen(XtScreen(w)),         /* window */
1583
 
             w->login.logoFileName,                   /* XPM filename */
1584
 
             &(w->login.logoPixmap),                  /* pixmap */
1585
 
             &(w->login.logoMask),                    /* pixmap mask */
1586
 
-            &myAttributes);                          /* XPM attributes */
1587
 
-        w->login.logoValid = True;
1588
 
+            &myAttributes) >= 0)                     /* XPM attributes */
1589
 
+          w->login.logoValid = True;
1590
 
+    }
1591
 
 
1592
 
+    if (w->login.logoValid == True) {
1593
 
         XGetGeometry(XtDisplay(w), w->login.logoPixmap,
1594
 
             &tmpWindow,
1595
 
             &(w->login.logoX),
1596
 
Index: xdm-X11R7.0-1.0.1/greeter/greet.c
 
1513
Index: xdm/greeter/greet.c
1597
1514
===================================================================
1598
 
--- xdm-X11R7.0-1.0.1.orig/greeter/greet.c      2006-01-09 14:12:54.000000000 +0700
1599
 
+++ xdm-X11R7.0-1.0.1/greeter/greet.c   2006-01-09 14:22:26.000000000 +0700
 
1515
--- xdm.orig/greeter/greet.c    2006-04-29 14:55:30.000000000 -0400
 
1516
+++ xdm/greeter/greet.c 2006-04-29 18:55:26.000000000 -0400
1600
1517
@@ -278,13 +278,13 @@
1601
1518
     XtGetValues (login, arglist, 1);
1602
1519
     if (allow)
1647
1564
                d->startup);
1648
1565
        SessionExit (d, OBEYSESS_DISPLAY, FALSE);
1649
1566
     }
1650
 
Index: xdm-X11R7.0-1.0.1/greeter/verify.c
 
1567
Index: xdm/greeter/verify.c
1651
1568
===================================================================
1652
 
--- xdm-X11R7.0-1.0.1.orig/greeter/verify.c     2006-01-09 14:12:54.000000000 +0700
1653
 
+++ xdm-X11R7.0-1.0.1/greeter/verify.c  2006-01-09 14:22:26.000000000 +0700
1654
 
@@ -207,29 +207,29 @@
 
1569
--- xdm.orig/greeter/verify.c   2006-04-29 15:04:41.000000000 -0400
 
1570
+++ xdm/greeter/verify.c        2006-04-29 18:55:26.000000000 -0400
 
1571
@@ -212,29 +212,29 @@
1655
1572
        endpwent();
1656
1573
 
1657
1574
        if (!p || strlen (greet->name) == 0) {
1686
1603
                login_close(lc);
1687
1604
                bzero(greet->password, strlen(greet->password));
1688
1605
                return 0;
1689
 
@@ -433,7 +433,7 @@
 
1606
@@ -447,7 +447,7 @@
1690
1607
                  (strncmp(console, "/dev/console", 12) == 0) && 
1691
1608
                  (strncmp(d->name,":0",2) != 0) )
1692
1609
                {
1695
1612
                         bzero(greet->password, strlen(greet->password));
1696
1613
                        XFree(console); 
1697
1614
                        return 0;
1698
 
@@ -442,7 +442,7 @@
 
1615
@@ -456,7 +456,7 @@
1699
1616
            }
1700
1617
            else
1701
1618
            {
1704
1621
            }   
1705
1622
        }
1706
1623
 #endif    
1707
 
@@ -452,13 +452,13 @@
1708
 
        endpwent();
1709
 
 
1710
 
        if (!p || strlen (greet->name) == 0) {
1711
 
-               Debug ("getpwnam() failed.\n");
1712
 
+               Debug ("getpwnam() failed\n");
1713
 
                bzero(greet->password, strlen(greet->password));
1714
 
                return 0;
1715
 
        } else {
1716
 
 #ifdef linux
1717
 
            if (!strcmp(p->pw_passwd, "!") || !strcmp(p->pw_passwd, "*")) {
1718
 
-               Debug ("The account is locked, no login allowed.\n");
1719
 
+               Debug ("the account is locked, no login allowed\n");
1720
 
                bzero(greet->password, strlen(greet->password));
1721
 
                return 0;
1722
 
            }
1723
 
@@ -474,7 +474,7 @@
 
1624
@@ -479,7 +479,7 @@
1724
1625
                int ret;
1725
1626
            
1726
1627
                if(krb_get_lrealm(realm, 1)){
1729
1630
                } else {
1730
1631
 
1731
1632
                    sprintf(krbtkfile, "%s.%s", TKT_ROOT, d->name);
1732
 
@@ -493,7 +493,7 @@
 
1633
@@ -498,7 +498,7 @@
1733
1634
                                                      greet->name);
1734
1635
                                    
1735
1636
                                    if((ret = k_afsklog(NULL, NULL)) != KSUCCESS)
1738
1639
                                                     krb_get_err_text(ret));
1739
1640
                            }
1740
1641
                            goto done;
1741
 
@@ -510,7 +510,7 @@
 
1642
@@ -515,7 +515,7 @@
1742
1643
        errno = 0;
1743
1644
        sp = getspnam(greet->name);
1744
1645
        if (sp == NULL) {
1747
1648
        } else {
1748
1649
            user_pass = sp->sp_pwdp;
1749
1650
        }
1750
 
@@ -568,14 +568,14 @@
 
1651
@@ -573,14 +573,14 @@
1751
1652
                (void)gettimeofday(&tp, (struct timezone *)NULL);
1752
1653
        if (p->pw_change) {
1753
1654
                if (tp.tv_sec >= p->pw_change) {
1764
1665
                        bzero(greet->password, strlen(greet->password));
1765
1666
                        return 0;
1766
1667
                } 
1767
 
@@ -605,7 +605,7 @@
 
1668
@@ -610,7 +610,7 @@
1768
1669
        endpwent();
1769
1670
 
1770
1671
        if (!p || strlen (greet->name) == 0) {
1773
1674
                bzero(greet->password, strlen(greet->password));
1774
1675
                return 0;
1775
1676
        }
1776
 
Index: xdm-X11R7.0-1.0.1/prngc.c
 
1677
Index: xdm/prngc.c
1777
1678
===================================================================
1778
 
--- xdm-X11R7.0-1.0.1.orig/prngc.c      2006-01-09 14:12:54.000000000 +0700
1779
 
+++ xdm-X11R7.0-1.0.1/prngc.c   2006-01-09 14:22:26.000000000 +0700
 
1679
--- xdm.orig/prngc.c    2006-04-29 14:55:31.000000000 -0400
 
1680
+++ xdm/prngc.c 2006-04-29 18:55:26.000000000 -0400
1780
1681
@@ -115,16 +115,16 @@
1781
1682
 reopen:
1782
1683
        fd = socket(af, SOCK_STREAM, 0);
1797
1698
                            " \"%s\": %s\n",
1798
1699
                            addr_un.sun_path, strerror(errno));
1799
1700
                }
1800
 
Index: xdm-X11R7.0-1.0.1/resource.c
 
1701
Index: xdm/resource.c
1801
1702
===================================================================
1802
 
--- xdm-X11R7.0-1.0.1.orig/resource.c   2006-01-09 14:12:54.000000000 +0700
1803
 
+++ xdm-X11R7.0-1.0.1/resource.c        2006-01-09 14:22:26.000000000 +0700
 
1703
--- xdm.orig/resource.c 2006-04-29 14:55:31.000000000 -0400
 
1704
+++ xdm/resource.c      2006-04-29 18:55:26.000000000 -0400
1804
1705
@@ -36,11 +36,11 @@
1805
1706
  * resource.c
1806
1707
  */
1883
1784
                    dpyName, resources[i].name);
1884
1785
            snprintf (class, sizeof(class), "DisplayManager.%s.%s",
1885
1786
                    dpyClass, resources[i].class);
1886
 
Index: xdm-X11R7.0-1.0.1/rpcauth.c
 
1787
Index: xdm/rpcauth.c
1887
1788
===================================================================
1888
 
--- xdm-X11R7.0-1.0.1.orig/rpcauth.c    2006-01-09 14:12:54.000000000 +0700
1889
 
+++ xdm-X11R7.0-1.0.1/rpcauth.c 2006-01-09 14:22:26.000000000 +0700
 
1789
--- xdm.orig/rpcauth.c  2006-04-29 14:55:31.000000000 -0400
 
1790
+++ xdm/rpcauth.c       2006-04-29 18:55:26.000000000 -0400
1890
1791
@@ -69,7 +69,7 @@
1891
1792
     new->number = 0;
1892
1793
 
1896
1797
     new->data_length = strlen(key);
1897
1798
     new->data = (char *) malloc (new->data_length);
1898
1799
     if (!new->data)
1899
 
Index: xdm-X11R7.0-1.0.1/server.c
 
1800
Index: xdm/server.c
1900
1801
===================================================================
1901
 
--- xdm-X11R7.0-1.0.1.orig/server.c     2006-01-09 14:12:54.000000000 +0700
1902
 
+++ xdm-X11R7.0-1.0.1/server.c  2006-01-09 14:22:26.000000000 +0700
 
1802
--- xdm.orig/server.c   2006-04-29 14:55:31.000000000 -0400
 
1803
+++ xdm/server.c        2006-04-29 18:55:26.000000000 -0400
1903
1804
@@ -80,7 +80,7 @@
1904
1805
     char       arg[1024];
1905
1806
     int                pid;
2012
1913
     XSetIOErrorHandler (oldError);
2013
1914
     return 1;
2014
1915
 }
2015
 
Index: xdm-X11R7.0-1.0.1/session.c
 
1916
Index: xdm/session.c
2016
1917
===================================================================
2017
 
--- xdm-X11R7.0-1.0.1.orig/session.c    2006-01-09 14:12:54.000000000 +0700
2018
 
+++ xdm-X11R7.0-1.0.1/session.c 2006-01-09 14:22:27.000000000 +0700
2019
 
@@ -55,7 +55,7 @@
2020
 
 #ifdef SECURE_RPC
2021
 
 # include <rpc/rpc.h>
2022
 
 # include <rpc/key_prot.h>
2023
 
-extern int key_setnet(struct key_netstarg *arg);
2024
 
+extern int key_setnet (struct key_netstarg *arg);
2025
 
 #endif
2026
 
 #ifdef K5AUTH
2027
 
 # include <krb5/krb5.h>
2028
 
@@ -258,18 +258,18 @@
 
1918
--- xdm.orig/session.c  2006-04-29 15:04:41.000000000 -0400
 
1919
+++ xdm/session.c       2006-04-29 18:55:26.000000000 -0400
 
1920
@@ -260,18 +260,18 @@
2029
1921
 static int
2030
1922
 IOErrorHandler (Display *dpy)
2031
1923
 {
2048
1940
     /*NOTREACHED*/
2049
1941
 }
2050
1942
 
2051
 
@@ -301,12 +301,12 @@
 
1943
@@ -303,12 +303,12 @@
2052
1944
     greet_user_proc = GreetUser;
2053
1945
 #else
2054
1946
     Debug ("ManageSession: loading greeter library %s\n", greeterLib);
2065
1957
        }
2066
1958
 #endif
2067
1959
 
2068
 
@@ -326,11 +326,11 @@
 
1960
@@ -328,11 +328,11 @@
2069
1961
             *     setting up environment and running the session
2070
1962
             */
2071
1963
            if (StartClient (&verify, d, &clientPid, greet.name, greet.password)) {
2079
1971
 #endif
2080
1972
 
2081
1973
                /*
2082
 
@@ -368,7 +368,7 @@
 
1974
@@ -370,7 +370,7 @@
2083
1975
     /*
2084
1976
      * run system-wide reset file
2085
1977
      */
2088
1980
     source (verify.systemEnviron, d->reset);
2089
1981
     SessionExit (d, OBEYSESS_DISPLAY, TRUE);
2090
1982
 }
2091
 
@@ -383,7 +383,7 @@
 
1983
@@ -385,7 +385,7 @@
2092
1984
        env = systemEnv (d, (char *) 0, (char *) 0);
2093
1985
        args = parseArgs ((char **) 0, d->xrdb);
2094
1986
        args = parseArgs (args, d->resources);
2097
1989
        (void) runAndWait (args, env);
2098
1990
        freeArgs (args);
2099
1991
        freeEnv (env);
2100
 
@@ -436,7 +436,7 @@
 
1992
@@ -438,7 +438,7 @@
2101
1993
        SessionExit (d, RESERVER_DISPLAY, FALSE);
2102
1994
     }
2103
1995
     (void) alarm ((unsigned) d->grabTimeout);
2106
1998
     XGrabServer (dpy);
2107
1999
     if (XGrabKeyboard (dpy, DefaultRootWindow (dpy), True, GrabModeAsync,
2108
2000
                       GrabModeAsync, CurrentTime) != GrabSuccess) {
2109
 
@@ -497,26 +497,26 @@
 
2001
@@ -499,26 +499,26 @@
2110
2002
            krb5_error_code code;
2111
2003
            krb5_ccache ccache;
2112
2004
 
2140
2032
     exit (status);
2141
2033
 }
2142
2034
 
2143
 
@@ -611,20 +611,22 @@
 
2035
@@ -602,20 +602,22 @@
2144
2036
 
2145
2037
 #ifndef AIXV3
2146
2038
 #ifndef HAS_SETUSERCONTEXT
2171
2063
            return (0);
2172
2064
        }
2173
2065
 #endif   /* QNX4 doesn't support multi-groups, no initgroups() */
2174
 
@@ -632,15 +634,15 @@
2175
 
        if (pamh) {
2176
 
            pam_error = pam_setcred (pamh, PAM_ESTABLISH_CRED);
2177
 
            if (pam_error != PAM_SUCCESS) {
2178
 
-               LogError ("pam_setcred for \"%s\" failed: %s\n",
2179
 
-                        name, pam_strerror(pamh, pam_error));
2180
 
-               return(0);
2181
 
+               LogError ("pam_setcred for \"%s\" failed: %s\n", name,
2182
 
+                         pam_strerror (pamh, pam_error));
2183
 
+               return (0);
2184
 
            }
2185
 
        }
2186
 
 #endif
2187
 
-       if (setuid(verify->uid) < 0) {
2188
 
-           LogError ("setuid %d (user \"%s\") failed, errno=%d\n",
2189
 
-                    verify->uid, name, errno);
2190
 
+       if (setuid (verify->uid) < 0) {
2191
 
+           LogError ("setuid %d (user \"%s\") failed: %s\n",
2192
 
+                     verify->uid, name, _SysErrorMsg (errno));
2193
 
            return (0);
2194
 
        }
2195
 
 #else /* HAS_SETUSERCONTEXT */
2196
 
@@ -648,16 +650,17 @@
 
2066
@@ -649,16 +651,17 @@
2197
2067
         * Set the user's credentials: uid, gid, groups,
2198
2068
         * environment variables, resource limits, and umask.
2199
2069
         */
2217
2087
            return (0);
2218
2088
        }
2219
2089
 #endif /* HAS_SETUSERCONTEXT */
2220
 
@@ -666,8 +669,9 @@
 
2090
@@ -667,8 +670,9 @@
2221
2091
         * Set the user's credentials: uid, gid, groups,
2222
2092
         * audit classes, user limits, and umask.
2223
2093
         */
2229
2099
            return (0);
2230
2100
        }
2231
2101
 #endif /* AIXV3 */
2232
 
@@ -686,24 +690,24 @@
 
2102
@@ -687,24 +691,24 @@
2233
2103
            int     key_set_ok = 0;
2234
2104
 
2235
2105
            nameret = getnetname (netname);
2263
2133
                    Debug ("key_setsecret returns %d\n", keyret);
2264
2134
                    if (keyret == -1)
2265
2135
                        LogError ("failed to set NIS secret key\n");
2266
 
@@ -766,27 +770,27 @@
 
2136
@@ -767,27 +771,27 @@
2267
2137
                LogError ("user \"%s\": cannot chdir to home \"%s\" (err %d), using \"/\"\n",
2268
2138
                          getEnv (verify->userEnviron, "USER"), home, errno);
2269
2139
                chdir ("/");
2298
2168
        Debug ("StartSession, fork succeeded %d\n", pid);
2299
2169
        *pidp = pid;
2300
2170
        return 1;
2301
 
@@ -847,12 +851,14 @@
 
2171
@@ -848,12 +852,14 @@
2302
2172
     open ("/dev/null", O_RDONLY);
2303
2173
     /* make stdout follow stderr to the log file */
2304
2174
     dup2 (2,1);
2313
2183
     if (errno != ENOENT) {
2314
2184
        char    program[1024], *e, *p, *optarg;
2315
2185
        FILE    *f;
2316
 
@@ -895,7 +901,7 @@
 
2186
@@ -896,7 +902,7 @@
2317
2187
            p = "/bin/sh";
2318
2188
            optarg = 0;
2319
2189
        }
2322
2192
                p, optarg ? optarg : "(null)");
2323
2193
        for (av = argv, argc = 0; *av; av++, argc++)
2324
2194
            /* SUPPRESS 530 */
2325
 
@@ -911,6 +917,7 @@
 
2195
@@ -912,6 +918,7 @@
2326
2196
        while ((*av++ = *argv++))
2327
2197
            /* SUPPRESS 530 */
2328
2198
            ;
2330
2200
        execve (newargv[0], newargv, environ);
2331
2201
     }
2332
2202
 }
2333
 
Index: xdm-X11R7.0-1.0.1/socket.c
 
2203
Index: xdm/socket.c
2334
2204
===================================================================
2335
 
--- xdm-X11R7.0-1.0.1.orig/socket.c     2006-01-09 14:12:54.000000000 +0700
2336
 
+++ xdm-X11R7.0-1.0.1/socket.c  2006-01-09 14:51:44.000000000 +0700
 
2205
--- xdm.orig/socket.c   2006-04-29 15:04:42.000000000 -0400
 
2206
+++ xdm/socket.c        2006-04-29 18:55:26.000000000 -0400
2337
2207
@@ -75,10 +75,10 @@
2338
2208
     if (chooserFd == -1)
2339
2209
 #endif
2386
2256
        close (fd);
2387
2257
        fd = -1;
2388
2258
        return fd;
2389
 
Index: xdm-X11R7.0-1.0.1/streams.c
 
2259
Index: xdm/streams.c
2390
2260
===================================================================
2391
 
--- xdm-X11R7.0-1.0.1.orig/streams.c    2006-01-09 14:12:54.000000000 +0700
2392
 
+++ xdm-X11R7.0-1.0.1/streams.c 2006-01-09 14:22:27.000000000 +0700
 
2261
--- xdm.orig/streams.c  2006-04-29 14:55:31.000000000 -0400
 
2262
+++ xdm/streams.c       2006-04-29 18:55:26.000000000 -0400
2393
2263
@@ -107,7 +107,7 @@
2394
2264
     FD_SET (xdmcpFd, &WellKnownSocketsMask);
2395
2265
 
2399
2269
     if (chooserFd == -1)
2400
2270
     {
2401
2271
        LogError ("chooser stream creation failed\n");
2402
 
Index: xdm-X11R7.0-1.0.1/xdm.man.cpp
 
2272
Index: xdm/xdm.man.cpp
2403
2273
===================================================================
2404
 
--- xdm-X11R7.0-1.0.1.orig/xdm.man.cpp  2006-01-09 14:12:55.000000000 +0700
2405
 
+++ xdm-X11R7.0-1.0.1/xdm.man.cpp       2006-01-09 14:22:27.000000000 +0700
 
2274
--- xdm.orig/xdm.man.cpp        2006-04-29 15:04:36.000000000 -0400
 
2275
+++ xdm/xdm.man.cpp     2006-04-29 18:55:26.000000000 -0400
2406
2276
@@ -289,7 +289,7 @@
2407
2277
 this resource to ``false'' will disable this feature.
2408
2278
 .IP "\fBDisplayManager.pidFile\fP"
2427
2297
 #endif
2428
2298
 #if !defined(ARC4_RANDOM)
2429
2299
 .IP \fBDisplayManager.prngdSocket\fP
2430
 
Index: xdm-X11R7.0-1.0.1/xdmauth.c
 
2300
Index: xdm/xdmauth.c
2431
2301
===================================================================
2432
 
--- xdm-X11R7.0-1.0.1.orig/xdmauth.c    2006-01-09 14:12:54.000000000 +0700
2433
 
+++ xdm-X11R7.0-1.0.1/xdmauth.c 2006-01-09 14:22:27.000000000 +0700
 
2302
--- xdm.orig/xdmauth.c  2006-04-29 14:55:31.000000000 -0400
 
2303
+++ xdm/xdmauth.c       2006-04-29 18:55:26.000000000 -0400
2434
2304
@@ -45,6 +45,18 @@
2435
2305
 static char    auth_name[256];
2436
2306
 static int     auth_name_len;
2511
2381
-#endif /* XDMCP */
2512
2382
+# endif /* XDMCP */
2513
2383
 #endif /* HASXDMAUTH (covering the entire file) */
2514
 
Index: xdm-X11R7.0-1.0.1/xdmcp.c
 
2384
Index: xdm/xdmcp.c
2515
2385
===================================================================
2516
 
--- xdm-X11R7.0-1.0.1.orig/xdmcp.c      2006-01-09 14:12:55.000000000 +0700
2517
 
+++ xdm-X11R7.0-1.0.1/xdmcp.c   2006-01-09 14:22:27.000000000 +0700
 
2386
--- xdm.orig/xdmcp.c    2006-04-29 14:55:31.000000000 -0400
 
2387
+++ xdm/xdmcp.c 2006-04-29 18:55:26.000000000 -0400
2518
2388
@@ -311,7 +311,7 @@
2519
2389
     XdmcpHeader            header;
2520
2390
     int                    localHostAsWell;
2760
2630
                          dotted);
2761
2631
            }
2762
2632
            if (!getString (name, strlen (local_name)))
2763
 
Index: xdm-X11R7.0-1.0.1/xdmshell.c
 
2633
Index: xdm/xdmshell.c
2764
2634
===================================================================
2765
 
--- xdm-X11R7.0-1.0.1.orig/xdmshell.c   2006-01-09 14:12:55.000000000 +0700
2766
 
+++ xdm-X11R7.0-1.0.1/xdmshell.c        2006-01-09 14:22:27.000000000 +0700
 
2635
--- xdm.orig/xdmshell.c 2006-04-29 14:55:31.000000000 -0400
 
2636
+++ xdm/xdmshell.c      2006-04-29 18:55:26.000000000 -0400
2767
2637
@@ -41,6 +41,7 @@
2768
2638
 #include <stdio.h>
2769
2639
 #include "dm.h"