Hi,

this patch fixes an issue discussed on the freeipa-user mailing list.
Now the service names should be compared properly.

bye,
Sumit
From 04106537c8df884457b14d99c3767dc3a6516d33 Mon Sep 17 00:00:00 2001
From: Sumit Bose <sb...@redhat.com>
Date: Mon, 3 May 2010 23:25:27 +0200
Subject: [PATCH] Compare the full service name

---
 src/providers/ipa/ipa_access.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/providers/ipa/ipa_access.c b/src/providers/ipa/ipa_access.c
index 24d8d62..962ea51 100644
--- a/src/providers/ipa/ipa_access.c
+++ b/src/providers/ipa/ipa_access.c
@@ -1270,7 +1270,8 @@ enum check_result check_service(struct pam_data *pd,
         return RULE_APPLICABLE;
     } else {
         for (i = 0; i < el->num_values; i++) {
-            if (strncasecmp(pd->service, (const char *) el->values[i].data,
+            if (strlen(pd->service) == el->values[i].length &&
+                strncasecmp(pd->service, (const char *) el->values[i].data,
                             el->values[i].length) == 0) {
                 DEBUG(9, ("Service [%s] found, rule applies.\n",
                           pd->service));
-- 
1.6.6.1

_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/sssd-devel

Reply via email to