# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= xdm VERSION= 1.1.16 KEYWORDS= x11 VARIANTS= standard SDESC[standard]= X.Org display manager (a.k.a. login manager) HOMEPAGE= https://www.x.org/wiki/ CONTACT= Leonid_Bobrov[goleo@disroot.org] DOWNLOAD_GROUPS= main SITES[main]= https://www.x.org/releases/individual/app/ DISTFILE[1]= xdm-1.1.16.tar.xz:main DF_INDEX= 1 SPKGS[standard]= single OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none RUN_DEPENDS= xorg-sessreg:single:standard xorg-xconsole:single:standard xorg-xrdb:single:standard USES= cpe libtool pkgconfig XORG_COMPONENTS= x11 xau xaw xmu xorgproto xdmcp xext xinerama xpm xt CPE_PRODUCT= x_display_manager CPE_VENDOR= x FPC_EQUIVALENT= x11/xdm MUST_CONFIGURE= gnu CONFIGURE_ARGS= --with-xdmconfigdir={{PREFIX}}/etc/X11/xdm --with-xdmscriptdir={{PREFIX}}/etc/X11/xdm --with-pixmapdir={{PREFIX}}/share/pixmaps --with-authdir=/var/db/xdm --disable-xdm-auth INSTALL_TARGET= install-strip post-install: ${MKDIR} ${STAGEDIR}/var/db/xdm .for f in GiveConsole TakeConsole Xaccess Xreset Xresources Xservers Xsession Xsetup_0 Xstartup Xwilling xdm-config ${MV} ${STAGEDIR}${PREFIX}/etc/X11/xdm/${f} \ ${STAGEDIR}${PREFIX}/etc/X11/xdm/${f}.sample .endfor [FILE:420:descriptions/desc.single] Xdm manages a collection of X displays, which may be on the local host or remote servers. The design of xdm was guided by the needs of X terminals as well as The Open Group standard XDMCP, the X Display Manager Control Protocol. Xdm provides services similar to those provided by init, getty and login on character terminals: prompting for login name and password, authenticating the user, and running a "session." [FILE:96:distinfo] bcf2209881e95708363777b282fedb1c1055790f38046fa46beff2f1d087679c 420072 xdm-1.1.16.tar.xz [FILE:612:manifests/plist.single] @sample etc/X11/xdm/GiveConsole.sample @sample etc/X11/xdm/TakeConsole.sample @sample etc/X11/xdm/Xaccess.sample @sample etc/X11/xdm/Xreset.sample @sample etc/X11/xdm/Xresources.sample @sample etc/X11/xdm/Xservers.sample @sample etc/X11/xdm/Xsession.sample @sample etc/X11/xdm/Xsetup_0.sample @sample etc/X11/xdm/Xstartup.sample @sample etc/X11/xdm/Xwilling.sample @sample etc/X11/xdm/xdm-config.sample bin/xdm lib/X11/xdm/ chooser libXdmGreet.so share/X11/app-defaults/Chooser share/man/man8/xdm.8.gz share/pixmaps/ xorg-bw.xpm xorg.xpm @dir /var/db/xdm @postunexec rm -rf /var/db/xdm/* 2>/dev/null || true [FILE:418:patches/patch-config_Xresources.in] --- config/Xresources.in.orig 2024-03-23 22:20:06 UTC +++ config/Xresources.in @@ -59,9 +59,9 @@ xlogin*hiColor: black XHASHendif #ifdef XPM XHASHif PLANES >= 8 -xlogin*logoFileName: BITMAPDIR/**//XDM_PIXMAP +xlogin*logoFileName: BITMAPDIR/XDM_PIXMAP XHASHelse -xlogin*logoFileName: BITMAPDIR/**//XDM_BWPIXMAP +xlogin*logoFileName: BITMAPDIR/XDM_BWPIXMAP XHASHendif xlogin*useShape: true xlogin*logoPadding: 10 [FILE:398:patches/patch-config_xdm-config.in] --- config/xdm-config.in.orig 2024-03-23 22:20:06 UTC +++ config/xdm-config.in @@ -25,6 +25,7 @@ DisplayManager*authComplain: true DisplayManager._0.setup: XDMSCRIPTDIR/Xsetup_0 DisplayManager._0.startup: XDMSCRIPTDIR/GiveConsole DisplayManager._0.reset: XDMSCRIPTDIR/TakeConsole +DisplayManager.*.authName: MIT-MAGIC-COOKIE-1 #ifdef XPM DisplayManager*loginmoveInterval: 10 #endif /* XPM */ [FILE:290:patches/patch-greeter-greet.c] --- greeter/greet.c.orig 2024-03-23 22:20:06 UTC +++ greeter/greet.c @@ -641,6 +641,7 @@ greet_user_rtn GreetUser( } DeleteXloginResources (d, *dpy); CloseGreet (d); + login = NULL; Debug ("Greet loop finished\n"); /* * Run system-wide initialization file [FILE:818:patches/patch-xdm_session.c] --- xdm/session.c.orig 2024-03-23 22:20:06 UTC +++ xdm/session.c @@ -583,6 +583,7 @@ StartClient ( pid_t pid; #ifdef HAVE_SETUSERCONTEXT struct passwd* pwd; + extern char **environ; #endif #ifdef USE_PAM pam_handle_t *pamh = thepamh (); @@ -665,6 +666,8 @@ StartClient ( * Set the user's credentials: uid, gid, groups, * environment variables, resource limits, and umask. */ + /* destroy user environment before calling setusercontext */ + environ = verify->userEnviron; pwd = getpwnam(name); if (pwd) { if (setusercontext(NULL, pwd, pwd->pw_uid, LOGIN_SETALL) < 0) { @@ -672,6 +675,7 @@ StartClient ( name, _SysErrorMsg (errno)); return (0); } + verify->userEnviron = environ; endpwent(); } else { LogError ("getpwnam for \"%s\" failed: %s\n",