Blame SOURCES/authconfig-6.2.8-initgroups.patch

ee2f06
diff -up authconfig-6.2.8/authinfo.py.initgroups authconfig-6.2.8/authinfo.py
ee2f06
--- authconfig-6.2.8/authinfo.py.initgroups	2016-06-29 18:01:35.000000000 +0200
ee2f06
+++ authconfig-6.2.8/authinfo.py	2016-08-31 12:31:26.880677634 +0200
ee2f06
@@ -2030,6 +2030,7 @@ class AuthInfo:
ee2f06
 		# Open the file.  Bail if it's not there or there's some problem
ee2f06
 		# reading it.
ee2f06
 		nssconfig = ""
ee2f06
+		initgroups = ""
ee2f06
 
ee2f06
 		try:
ee2f06
 			f = open(all_configs[CFG_NSSWITCH].origPath, "r")
ee2f06
@@ -2038,7 +2039,7 @@ class AuthInfo:
ee2f06
 
ee2f06
 		for line in f:
ee2f06
 			line = line.strip()
ee2f06
-			
ee2f06
+
ee2f06
 			value = matchKey(line, "passwd:")
ee2f06
 			if value:
ee2f06
 				nssconfig = value
ee2f06
@@ -2059,6 +2060,10 @@ class AuthInfo:
ee2f06
 					dnspos = checkNSS(value, "dns")
ee2f06
 					if nispos != None and dnspos != None:
ee2f06
 						self.setParam("preferDNSinHosts", dnspos < nispos, ref)
ee2f06
+				else:
ee2f06
+					value = matchKey(line, "initgroups:")
ee2f06
+					if value:
ee2f06
+						initgroups = value
ee2f06
 
ee2f06
 		if nssconfig:
ee2f06
 			nssmap = (('Compat', 'compat'), ('DB', 'db'),
ee2f06
@@ -2068,6 +2073,8 @@ class AuthInfo:
ee2f06
 			for attr, nssentry in nssmap:
ee2f06
 				if checkNSS(nssconfig, nssentry):
ee2f06
 					self.setParam('enable' + attr, True, ref)
ee2f06
+			if initgroups and checkNSS(nssconfig, 'sss') and not checkNSS(initgroups, 'sss'):
ee2f06
+				self.inconsistentAttrs.append('implicitSSSD')
ee2f06
 
ee2f06
 			self.setParam("implicitSSSD", bool(checkNSS(nssconfig, "sss")), ref)
ee2f06
 		f.close()