From f3e6c8a71c7684660e55735c92e1cfdcc93aae90 Mon Sep 17 00:00:00 2001 From: brooks Date: Thu, 22 Dec 2005 00:34:48 +0000 Subject: [PATCH] MFC rev 1.6: When removing the local domain, only do so when the result will be a host name. This is matches the documented behaviro. The previous behavior would remove the domain name even if the result retained a dot. This fixes rsh connections from a.example.com to example.com. This is also reported to fix rsh connections from host xxx to yyy.example.com. PR: 88301 --- lib/libutil/trimdomain.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/libutil/trimdomain.c b/lib/libutil/trimdomain.c index a7ce8c4eaea3..85c27e0a1c10 100644 --- a/lib/libutil/trimdomain.c +++ b/lib/libutil/trimdomain.c @@ -75,18 +75,16 @@ trimdomain(char *fullhost, int hostsize) s = fullhost; end = s + hostsize + 1; - for (; (s = memchr(s, '.', (size_t)(end - s))) != NULL; s++) { + if ((s = memchr(s, '.', (size_t)(end - s))) != NULL) { if (strncasecmp(s + 1, domain, dlen) == 0) { if (s[dlen + 1] == '\0') { /* Found -- lose the domain. */ *s = '\0'; - break; } else if (s[dlen + 1] == ':' && isDISP(s + dlen + 2) && (len = strlen(s + dlen + 1)) < (size_t)(end - s)) { /* Found -- shuffle the DISPLAY back. */ memmove(s, s + dlen + 1, len + 1); - break; } } }