From wosch@cs.tu-berlin.de  Sat Sep 20 05:18:34 1997
Received: from mail.cs.tu-berlin.de (root@mail.cs.tu-berlin.de [130.149.17.13])
          by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id FAA02327
          for <FreeBSD-gnats-submit@freebsd.org>; Sat, 20 Sep 1997 05:18:33 -0700 (PDT)
Received: from panke.panke.de (anonymous217.ppp.cs.tu-berlin.de [130.149.17.217])
	by mail.cs.tu-berlin.de (8.8.6/8.8.6) with ESMTP id OAA27782
	for <FreeBSD-gnats-submit@freebsd.org>; Sat, 20 Sep 1997 14:13:59 +0200 (MET DST)
Received: (from wosch@localhost) by panke.panke.de (8.8.5/8.6.12) id OAA01321; Sat, 20 Sep 1997 14:06:11 +0200 (MET DST)
Message-Id: <199709201206.OAA01321@panke.panke.de>
Date: Sat, 20 Sep 1997 14:06:11 +0200 (MET DST)
From: Wolfram Schneider <wosch@cs.tu-berlin.de>
Reply-To: wosch@cs.tu-berlin.de
To: FreeBSD-gnats-submit@freebsd.org
Subject: bad implemented dot support in chown(8)
X-Send-Pr-Version: 3.2

>Number:         4587
>Category:       bin
>Synopsis:       bad implemented dot support in chown(8)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Sep 20 05:20:01 PDT 1997
>Closed-Date:    Sun Sep 21 02:18:54 PDT 1997
>Last-Modified:  Sun Sep 21 02:20:20 PDT 1997
>Originator:     Wolfram Schneider
>Release:        FreeBSD 2.2-RELEASE i386
>Organization:
>Environment:


Chown(8) compiled with -DSUPPORT_DOT (backward compatibility) does
first check for a `.' and then for `:' as a delimiter. 
Usernames with a dot will fail.

# chown r.r:bin /tmp/bla
chown: r:bin: illegal group name


Fix: first check for a `:' and then for a `.'

Index: chown.c
===================================================================
RCS file: /usr/cvs/src/usr.sbin/chown/chown.c,v
retrieving revision 1.4
diff -u -r1.4 chown.c
--- chown.c	1996/08/14 18:13:58	1.4
+++ chown.c	1997/09/20 11:30:12
@@ -136,16 +136,16 @@
 
 	uid = gid = -1;
 	if (ischown) {
-#ifdef SUPPORT_DOT
-		if ((cp = strchr(*argv, '.')) != NULL) {
+		if ((cp = strchr(*argv, ':')) != NULL) {
 			*cp++ = '\0';
 			a_gid(cp);
-		} else
-#endif
-		if ((cp = strchr(*argv, ':')) != NULL) {
+		}
+#ifdef SUPPORT_DOT
+		else if ((cp = strchr(*argv, '.')) != NULL) {
 			*cp++ = '\0';
 			a_gid(cp);
 		}
+#endif
 		a_uid(*argv);
 	} else
 		a_gid(*argv);


>Description:
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: wosch 
State-Changed-When: Sun Sep 21 02:18:54 PDT 1997 
State-Changed-Why:  
Fixed in src/usr.sbin/chown/chown.c revision 1.9 

>Unformatted:
