X-Git-Url: https://git.saurik.com/apple/system_cmds.git/blobdiff_plain/6d658acdb5f61932718109ed8f339604b778ab80..fa62d991a164ca3b9c2d6311b462257aea81aded:/chpass.tproj/table.c diff --git a/chpass.tproj/table.c b/chpass.tproj/table.c index 8971086..dba2154 100644 --- a/chpass.tproj/table.c +++ b/chpass.tproj/table.c @@ -1,10 +1,8 @@ /* - * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. + * Copyright (c) 1999-2006 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ * - * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. - * * This file contains Original Code and/or Modifications of Original Code * as defined in and that are subject to the Apple Public Source License * Version 2.0 (the 'License'). You may not use this file except in @@ -24,7 +22,7 @@ */ /*- * Copyright (c) 1990, 1993, 1994 - * The Regents of the University of California. All rights reserved. + * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -36,8 +34,8 @@ * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. + * This product includes software developed by the University of + * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. @@ -55,6 +53,16 @@ * SUCH DAMAGE. */ +#if 0 +#if 0 +#ifndef lint +static const char sccsid[] = "@(#)table.c 8.3 (Berkeley) 4/2/94"; +#endif /* not lint */ +#endif +#include +__FBSDID("$FreeBSD: src/usr.bin/chpass/table.c,v 1.10 2003/05/03 19:44:45 obrien Exp $"); +#endif + #include #include #include "chpass.h" @@ -62,19 +70,48 @@ char e1[] = ": "; char e2[] = ":,"; +#ifdef OPEN_DIRECTORY +#include "open_directory.h" + +ENTRY list[] = { + { "Login", display_string, p_login, 1, 5, e1, &kODAttributeTypeRecordName, }, + { "Password", display_string, p_passwd, 1, 8, e1, &kODAttributeTypePassword, }, + { "Uid [#]", display_string, p_uid, 1, 3, e1, &kODAttributeTypeUniqueID, }, + { "Gid [# or name]", display_string, p_gid, 1, 3, e1, &kODAttributeTypePrimaryGroupID, }, + { "Generated uid", display_string, p_uuid, 1, 13, NULL, &kODAttributeTypeGUID, }, +#if 0 + { "Change [month day year]", display_time, p_change, 1, 6, NULL, CFSTR(kDS1AttrChange), }, + { "Expire [month day year]", display_time, p_expire, 1, 6, NULL, kODAttributeTypeExpire, }, + { "Class", display_string, p_class, 0, 5, e1, CFSTR(""), "Class" }, +#endif + { "Home directory", display_string, p_hdir, 1, 14, e1, &kODAttributeTypeNFSHomeDirectory, }, + { "Shell", display_string, p_shell, 1, 5, e1, &kODAttributeTypeUserShell, }, + { "Full Name", display_string, p_gecos, 1, 9, e2, &kODAttributeTypeFullName, }, + { "Office Location", display_string, p_gecos, 1, 8, e2, &kODAttributeTypeBuilding, }, + { "Office Phone", display_string, p_gecos, 1, 12, e2, &kODAttributeTypePhoneNumber, }, + { "Home Phone", display_string, p_gecos, 1, 10, e2, &kODAttributeTypeHomePhoneNumber, }, + { NULL, NULL, NULL, 0, 0, NULL, NULL,}, +}; +#else /* OPEN_DIRECTORY */ ENTRY list[] = { - { "login", p_login, 1, 5, e1, }, - { "password", p_passwd, 1, 8, e1, }, - { "uid", p_uid, 1, 3, e1, }, - { "gid", p_gid, 1, 3, e1, }, - { "class", p_class, 1, 5, e1, }, - { "change", p_change, 1, 6, NULL, }, - { "expire", p_expire, 1, 6, NULL, }, - { "full name", p_gecos, 0, 9, e2, }, - { "office phone", p_gecos, 0, 12, e2, }, - { "home phone", p_gecos, 0, 10, e2, }, - { "location", p_gecos, 0, 8, e2, }, - { "home directory", p_hdir, 1, 14, e1, }, - { "shell", p_shell, 0, 5, e1, }, - { NULL, 0, }, + { "login", p_login, 1, 5, e1, NULL }, + { "password", p_passwd, 1, 8, e1, NULL }, + { "uid", p_uid, 1, 3, e1, NULL }, + { "gid", p_gid, 1, 3, e1, NULL }, + { "class", p_class, 1, 5, e1, NULL }, + { "change", p_change, 1, 6, NULL, NULL }, + { "expire", p_expire, 1, 6, NULL, NULL }, +#ifdef RESTRICT_FULLNAME_CHANGE /* do not allow fullname changes */ + { "full name", p_gecos, 1, 9, e2, NULL }, +#else + { "full name", p_gecos, 0, 9, e2, NULL }, +#endif + { "office phone", p_gecos, 0, 12, e2, NULL }, + { "home phone", p_gecos, 0, 10, e2, NULL }, + { "office location", p_gecos, 0, 15, e2, NULL }, + { "other information", p_gecos, 0, 11, e1, NULL }, + { "home directory", p_hdir, 1, 14, e1, NULL }, + { "shell", p_shell, 0, 5, e1, NULL }, + { NULL, NULL, 0, 0, NULL, NULL }, }; +#endif /* OPEN_DIRECTORY */