Hello community, here is the log from the commit of package xdm for openSUSE:Factory checked in at 2013-07-29 21:12:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xdm (Old) and /work/SRC/openSUSE:Factory/.xdm.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xdm" Changes: -------- --- /work/SRC/openSUSE:Factory/xdm/xdm.changes 2013-06-11 09:38:32.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.xdm.new/xdm.changes 2013-07-29 21:12:10.000000000 +0200 @@ -1,0 +2,6 @@ +Mon Jul 29 09:25:40 UTC 2013 - [email protected] + +- u_xdm-sig11-bug-598422.diff + * fix Sig11 in xdm when pressing Ctr-c (bnc#598422, bnc#831870) + +------------------------------------------------------------------- New: ---- u_xdm-sig11-bug-598422.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xdm.spec ++++++ --- /var/tmp/diff_new_pack.AY58KK/_old 2013-07-29 21:12:11.000000000 +0200 +++ /var/tmp/diff_new_pack.AY58KK/_new 2013-07-29 21:12:11.000000000 +0200 @@ -48,6 +48,7 @@ Patch2: U_xdm_config-AC_LIBTOOL_DLOPEN-is-required-for-dynamic-lin.patch Patch3: U_xdm_config-use-libtool-export-dynamic-option-for-reverse.patch Patch4: U_xdm_Fix-missing-linking-dependency-on-ldl.patch +Patch5: u_xdm-sig11-bug-598422.diff %if 0%{?suse_version} >= 01140 # Needed to create the man page symlink to init.d BuildRequires: aaa_base-extras @@ -95,6 +96,7 @@ %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 # needed for patch0, patch2, patch3, patch4 autoreconf -fi ++++++ u_xdm-sig11-bug-598422.diff ++++++ Index: xdm-1.1.10/dm.h =================================================================== --- xdm-1.1.10.orig/dm.h +++ xdm-1.1.10/dm.h @@ -434,6 +434,7 @@ extern void DeleteXloginResources (struc extern void LoadXloginResources (struct display *d); extern void ManageSession (struct display *d); extern void SecureDisplay (struct display *d, Display *dpy); +extern void PamCloseSession(void); extern void SessionExit (struct display *d, int status, int removeAuth); extern void SessionPingFailed (struct display *d); extern void SetupDisplay (struct display *d); Index: xdm-1.1.10/session.c =================================================================== --- xdm-1.1.10.orig/session.c +++ xdm-1.1.10/session.c @@ -290,6 +290,8 @@ SessionPingFailed (struct display *d) AbortClient (clientPid); source (verify.systemEnviron, d->reset); } + + PamCloseSession(); SessionExit (d, RESERVER_DISPLAY, TRUE); } @@ -417,6 +419,7 @@ ManageSession (struct display *d) */ Debug ("Source reset program %s\n", d->reset); source (verify.systemEnviron, d->reset); + PamCloseSession(); SessionExit (d, OBEYSESS_DISPLAY, TRUE); } @@ -480,6 +483,7 @@ SecureDisplay (struct display *d, Displa if (Setjmp (syncJump)) { LogError ("WARNING: display %s could not be secured\n", d->name); + PamCloseSession(); SessionExit (d, RESERVER_DISPLAY, FALSE); } (void) alarm ((unsigned) d->grabTimeout); @@ -491,6 +495,7 @@ SecureDisplay (struct display *d, Displa (void) Signal (SIGALRM, SIG_DFL); LogError ("WARNING: keyboard on display %s could not be secured\n", d->name); + PamCloseSession(); SessionExit (d, RESERVER_DISPLAY, FALSE); } Debug ("XGrabKeyboard succeeded %s\n", d->name); @@ -515,8 +520,7 @@ UnsecureDisplay (struct display *d, Disp } void -SessionExit (struct display *d, int status, int removeAuth) -{ +PamCloseSession(void) { #ifdef USE_PAM pam_handle_t *pamh = thepamh(); @@ -527,7 +531,11 @@ SessionExit (struct display *d, int stat pamh = NULL; } #endif +} +void +SessionExit (struct display *d, int status, int removeAuth) +{ /* make sure the server gets reset after the session is over */ if (d->serverPid >= 2 && d->resetSignal) kill (d->serverPid, d->resetSignal); Index: xdm-1.1.10/greeter/greet.c =================================================================== --- xdm-1.1.10.orig/greeter/greet.c +++ xdm-1.1.10/greeter/greet.c @@ -582,6 +582,7 @@ greet_user_rtn GreetUser( pam_done: if (code != 0) { + PamCloseSession(); CloseGreet (d); SessionExit (d, code, FALSE); } @@ -610,6 +611,7 @@ greet_user_rtn GreetUser( code = Greet (d, greet); if (code != 0) { + PamCloseSession(); CloseGreet (d); SessionExit (d, code, FALSE); } @@ -632,6 +634,7 @@ greet_user_rtn GreetUser( { Debug ("Startup program %s exited with non-zero status\n", d->startup); + PamCloseSession(); SessionExit (d, OBEYSESS_DISPLAY, FALSE); } /* -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
