Return-Path: Received: from mail.painless-security.com (mail.painless-security.com [23.30.188.241]) by krbdev.mit.edu (Postfix) with ESMTPS id ED37A580DE for ; Wed, 4 Jun 2014 13:05:05 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by mail.painless-security.com (Postfix) with ESMTP id 5441E20720 for ; Wed, 4 Jun 2014 13:02:34 -0400 (EDT) Received: from mail.painless-security.com ([127.0.0.1]) by localhost (mail.suchdamage.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ojwyEa6mlmXi for ; Wed, 4 Jun 2014 13:02:33 -0400 (EDT) Received: from carter-zimmerman.suchdamage.org (c-50-177-27-27.hsd1.ma.comcast.net [50.177.27.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "laptop", Issuer "laptop" (not verified)) by mail.painless-security.com (Postfix) with ESMTPS for ; Wed, 4 Jun 2014 13:02:33 -0400 (EDT) Received: by carter-zimmerman.suchdamage.org (Postfix, from userid 8042) id 396BF819B9; Wed, 4 Jun 2014 13:05:04 -0400 (EDT) From: Sam Hartman To: rt@krbdev.mit.edu Subject: Re: [krbdev.mit.edu #7925] AutoReply: 05cbef80d53 breaks /etc/gss/mech References: Date: Wed, 04 Jun 2014 13:05:04 -0400 In-Reply-To: (krb5's message of "Wed, 28 May 2014 21:41:10 -0400 (EDT)") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain RT-Send-Cc: X-RT-Original-Encoding: iso-8859-1 Content-Length: 1241 Here's a patch: From 03ecfebef9594035dc152585d1827a93f58bb221 Mon Sep 17 00:00:00 2001 From: Sam Hartman Date: Wed, 4 Jun 2014 12:03:19 -0400 Subject: Read /etc/gss/mech when no files in mech.d If the call to glob fails, it's still necessary to read /etc/gss/mech if that file exists. ticket: 7925 --- src/lib/gssapi/mechglue/g_initialize.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/lib/gssapi/mechglue/g_initialize.c b/src/lib/gssapi/mechglue/g_initialize.c index a586e1c..7fab03d 100644 --- a/src/lib/gssapi/mechglue/g_initialize.c +++ b/src/lib/gssapi/mechglue/g_initialize.c @@ -444,8 +444,18 @@ loadConfigFiles() g_confLastCall = now; globbuf.gl_offs = 1; - if (glob(MECH_CONF_PATTERN, GLOB_DOOFFS, NULL, &globbuf) != 0) + if (glob(MECH_CONF_PATTERN, GLOB_DOOFFS, NULL, &globbuf) != 0) { + mtime = check_link_mtime(MECH_CONF, &mtime); + if (mtime == (time_t)-1) + return; + if (mtime > highest_mtime) + highest_mtime = mtime; + if (mtime > g_confFileModTime) { + loadConfigFile(MECH_CONF); + g_confFileModTime = highest_mtime; + } return; + } globbuf.gl_pathv[0] = MECH_CONF; for (pathptr = globbuf.gl_pathv; *pathptr != NULL; pathptr++) {