From owner-freebsd-bugs Sat Sep 20 05:20:04 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id FAA02446 for bugs-outgoing; Sat, 20 Sep 1997 05:20:04 -0700 (PDT) Received: (from gnats@localhost) by hub.freebsd.org (8.8.7/8.8.7) id FAA02418; Sat, 20 Sep 1997 05:20:02 -0700 (PDT) Resent-Date: Sat, 20 Sep 1997 05:20:02 -0700 (PDT) Resent-Message-Id: <199709201220.FAA02418@hub.freebsd.org> Resent-From: gnats (GNATS Management) Resent-To: freebsd-bugs Resent-Reply-To: FreeBSD-gnats@FreeBSD.ORG, wosch@cs.tu-berlin.de 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 ; 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 ; 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 Reply-To: wosch@cs.tu-berlin.de To: FreeBSD-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: 3.2 Subject: bin/4587: bad implemented dot support in chown(8) Sender: owner-freebsd-bugs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >Number: 4587 >Category: bin >Synopsis: bad implemented dot support in chown(8) >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Sep 20 05:20:01 PDT 1997 >Last-Modified: >Originator: Wolfram Schneider >Organization: >Release: FreeBSD 2.2-RELEASE i386 >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: >Audit-Trail: >Unformatted: