MFH: r382722

Obtain a credential on login with KDM4

PAM_SETCRED(3)'s second parameter does not default to PAM_ESTABLISH_CRED on
FreeBSD, so explify it, as was proposed on the forums[1] back in decembre.

Bump port revision as this commit changes the runtime behavior of the
installed port.

[1] https://forums.freebsd.org/threads/problem-with-kdm4-kerberos-and-nfsv4.49253

PR:		195899
Approved by:	rakuco (mentor)
Approved by:	ports-secteam (delphij)
This commit is contained in:
Alonso Schaich 2015-04-09 19:27:31 +00:00
parent bd1206016c
commit 5bd325869b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2015Q1/; revision=383668
2 changed files with 14 additions and 5 deletions

View File

@ -2,7 +2,7 @@
PORTNAME= kde-workspace
PORTVERSION= ${KDE4_WORKSPACE_VERSION}
PORTREVISION= 2
PORTREVISION= 3
CATEGORIES= x11 kde
MASTER_SITES= KDE/${KDE4_BRANCH}/${KDE4_VERSION}/src
DIST_SUBDIR= KDE/${PORTVERSION}

View File

@ -1,6 +1,6 @@
--- ./kdm/backend/client.c.orig 2010-07-06 10:54:30.000000000 +0400
+++ ./kdm/backend/client.c 2010-07-30 22:23:48.264408318 +0400
@@ -1309,6 +1309,9 @@
--- kdm/backend/client.c.orig 2014-11-06 23:36:58.000000000 +0100
+++ kdm/backend/client.c 2015-03-09 13:20:24.870430799 +0100
@@ -1322,6 +1322,9 @@
char ckDeviceBuf[20] = "";
const char *ckDevice = ckDeviceBuf;
dbus_bool_t isLocal;
@ -10,7 +10,7 @@
#endif
char *failsafeArgv[2];
char *buf, *buf2;
@@ -1340,6 +1343,13 @@
@@ -1353,6 +1356,13 @@
# ifdef HAVE_VTS
if (td->serverVT > 0)
sprintf(ckDeviceBuf, "/dev/tty%d", td->serverVT);
@ -24,3 +24,12 @@
# endif
isLocal = ((td->displayType & d_location) == dLocal);
# ifdef XDMCP
@@ -1532,7 +1542,7 @@
environ = pam_env;
# endif
removeCreds = True; /* set it first - i don't trust PAM's rollback */
- pretc = pam_setcred(pamh, 0);
+ pretc = pam_setcred(pamh, PAM_ESTABLISH_CRED);
reInitErrorLog();
# ifndef HAVE_PAM_GETENVLIST
pam_env = environ;