From owner-freebsd-bugs Thu Jan 9 5:10: 7 2003 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 598FD37B401 for ; Thu, 9 Jan 2003 05:10:04 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4140543E4A for ; Thu, 9 Jan 2003 05:10:03 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id h09DA3NS073936 for ; Thu, 9 Jan 2003 05:10:03 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id h09DA3rf073935; Thu, 9 Jan 2003 05:10:03 -0800 (PST) Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E174F37B401 for ; Thu, 9 Jan 2003 05:01:57 -0800 (PST) Received: from relay2.mecon.ar (relay2.mecon.ar [168.101.16.11]) by mx1.FreeBSD.org (Postfix) with ESMTP id F247D43EB2 for ; Thu, 9 Jan 2003 05:01:55 -0800 (PST) (envelope-from fpscha@mecon.gov.ar) Received: from racing.mecon.ar (racing.mecon.ar [168.101.133.15]) by relay2.mecon.ar (8.12.6/8.12.6) with ESMTP id h09D1r71025499 for ; Thu, 9 Jan 2003 10:01:54 -0300 (ART) (envelope-from fpscha@mecon.gov.ar) Received: from racing.mecon.ar (meyosp.mecon.gov.ar [10.11.0.149]) by racing.mecon.ar (8.11.1/8.8.5) with ESMTP id h09D1mx52698 for ; Thu, 9 Jan 2003 10:01:48 -0300 (ART) Received: from bal740r0.mecon.gov.ar (bal740r0.mecon.ar [10.11.1.11]) by racing.mecon.ar (8.11.1/8.8.5) with ESMTP id h09D1mi52693 for ; Thu, 9 Jan 2003 10:01:48 -0300 (ART) Received: from bal740r0.mecon.gov.ar (localhost [127.0.0.1]) by bal740r0.mecon.gov.ar (8.12.6/8.12.6) with ESMTP id h09D2XSv000737 for ; Thu, 9 Jan 2003 10:02:33 -0300 (ART) (envelope-from fpscha@bal740r0.mecon.gov.ar) Received: (from fpscha@localhost) by bal740r0.mecon.gov.ar (8.12.6/8.12.6/Submit) id h09D2WPE000736; Thu, 9 Jan 2003 10:02:32 -0300 (ART) (envelope-from fpscha) Message-Id: <200301091302.h09D2WPE000736@bal740r0.mecon.gov.ar> Date: Thu, 9 Jan 2003 10:02:32 -0300 (ART) From: Fernando Schapachnik Reply-To: Fernando Schapachnik To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: bin/46890: [PATCH] pw doesn't accept characters like $ although it should according to passwd(5) Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 46890 >Category: bin >Synopsis: [PATCH] pw doesn't accept characters like $ although it should according to passwd(5) >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Jan 09 05:10:02 PST 2003 >Closed-Date: >Last-Modified: >Originator: Fernando Schapachnik >Release: FreeBSD 4.7-RELEASE-p3 i386 >Organization: >Environment: System: FreeBSD bal740r0.mecon.gov.ar 4.7-RELEASE-p3 FreeBSD 4.7-RELEASE-p3 #2: Mon Jan 6 15:33:54 ART 2003 root@bal740r0.mecon.gov.ar:/usr/obj/usr/src/sys/BAL740R0 i386 >Description: passwd(5) puts very 'soft' restrictions on the user name: The login name must never begin with a hyphen (`-'); also, it is strongly suggested that neither upper-case characters nor dots (`.') be part of the name, as this tends to confuse mailers. So it should be safe to pw user add user$, although you get: pw: invalid character `$' in field Usernames ending in $ are needed in some SAMBA setups (machine names). >How-To-Repeat: pw user add user$ >Fix: Really simple, just change the right flag in a few places. --- pw_user.c Tue Dec 3 09:12:12 2002 +++ /tmp/pw/pw_user.c Thu Jan 9 09:57:16 2003 @@ -293,7 +293,7 @@ } if ((a_name = getarg(args, 'n')) != NULL) - pwd = GETPWNAM(pw_checkname((u_char *)a_name->val, 0)); + pwd = GETPWNAM(pw_checkname((u_char *)a_name->val, 1)); a_uid = getarg(args, 'u'); if (a_uid == NULL) { @@ -455,7 +455,7 @@ if ((arg = getarg(args, 'l')) != NULL) { if (strcmp(pwd->pw_name, "root") == 0) errx(EX_DATAERR, "can't rename `root' account"); - pwd->pw_name = pw_checkname((u_char *)arg->val, 0); + pwd->pw_name = pw_checkname((u_char *)arg->val, 1); edited = 1; } --- pw_group.c Wed Jun 28 16:19:04 2000 +++ /tmp/pw/pw_group.c Thu Jan 9 09:56:35 2003 @@ -135,7 +135,7 @@ grp->gr_gid = (gid_t) atoi(a_gid->val); if ((arg = getarg(args, 'l')) != NULL) - grp->gr_name = pw_checkname((u_char *)arg->val, 0); + grp->gr_name = pw_checkname((u_char *)arg->val, 1); } else { if (a_name == NULL) /* Required */ errx(EX_DATAERR, "group name required"); @@ -145,7 +145,7 @@ extendarray(&members, &grmembers, 200); members[0] = NULL; grp = &fakegroup; - grp->gr_name = pw_checkname((u_char *)a_name->val, 0); + grp->gr_name = pw_checkname((u_char *)a_name->val, 1); grp->gr_passwd = "*"; grp->gr_gid = gr_gidpolicy(cnf, args); grp->gr_mem = members; >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message