[libnfsidmapd PATCH] nss: use strrchr() instead of strchr() to get the last occurrence of "@"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Issues with AD/IPA Trust works & how SSSD deals with AD users.

Lets say we have a IPA domain linux.example.com & AD domain win.example.com, We setup IPA/AD trust so that Windows domain users can login into Linux, When we setup AD Trust with IPA, AD users login as username@AD_REALM, With our example above, username will be "user@xxxxxxxxxxxxxxx" Without @win.example.com that user will be searched only in IPA domain not in AD domain. That is the reason @DOMAIN part is important in SSSD when dealing with IPA-AD trust.

With current behaviour the client-side code is stripping the domain off based on the location of the first "@" character in the value returned by the server. This results in UID/GID mappings failing and resulting in ownership on the clients as "nobody".

With the provided patch, we can accept fully qualified usernames.
commit 7ff76ddf2e37d595732d9c8e534de8aa530eb57a
Author: Shijoe Panjikkaran <spanjikk@xxxxxxxxxx>
Date:   Tue Apr 1 20:53:54 2014 +0530

    nss: strrchr() instead of strchr() to get the last occurrence of "@"
    
    Signed-off-by: Shijoe Panjikkaran <spanjikk@xxxxxxxxxx>

diff --git a/nss.c b/nss.c
index b2b1227..f8129fe 100644
--- a/nss.c
+++ b/nss.c
@@ -135,7 +135,7 @@ static char *strip_domain(const char *name, const char *domain)
 	char *l = NULL;
 	int len;
 
-	c = strchr(name, '@');
+	c = strrchr(name, '@');
 	if (c == NULL && domain != NULL)
 		goto out;
 	if (c == NULL && domain == NULL) {

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux