summaryrefslogtreecommitdiffstats
path: root/winsup/utils/mkpasswd.c
Commit message (Collapse)AuthorAgeFilesLines
* Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout optioncygwin-2_5_2-releaseCorinna Vinschen2016-06-231-4/+1
| | | | | | | | | | | | | | Bump GPLv2+ to GPLv3+ for some files, clarify BSD 2-clause. Everything else stays under GPLv3+. New Linking Exception exempts resulting executables from LGPLv3 section 4. Add CONTRIBUTORS file to keep track of licensing. Remove 'Copyright Red Hat Inc' comments. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* * mkgroup.c (MAX_SID_LEN): Remove. Instead, use SECURITY_MAX_SID_SIZECorinna Vinschen2015-02-251-23/+25
| | | | | | | throughout. (enum_unix_groups): Introduce numeric_psid and rearrange code to avoid potential heap corruption. * mkpasswd.c: Ditto.
* * mkgroup.c (main): Call enum_groups with offset 0x30000 for localCorinna Vinschen2014-11-271-7/+9
| | | | | | | | machine, same as from DB. * mkpasswd.c (enum_unix_users): Set pw_passwd field to '*'. (enum_users): Ditto. (main): Call enum_users with offset of 0x30000 for local machine, same as from DB.
* * mkgroup.c (usage): Fix language.Corinna Vinschen2014-11-121-21/+21
| | | | * mkpasswd.c (usage): Ditto.
* * mkgroup.c (enum_unix_groups): Always print groupname with machineCorinna Vinschen2014-11-121-13/+33
| | | | | | | | | prefix. (usage): Extend help output for -l option. (main): Drop superfluous goto and label. Make machine prefixing for local machine when using -l option dependend on options in /etc/nsswitch.conf. * mkpasswd.c: Ditto.
* * cygcheck.cc (dump_sysinfo): Handle Windows 10/Server 2014(?).Corinna Vinschen2014-11-101-14/+24
|
* * mkgroup.c (usage): Move info message that this /etc/group isn't reallyCorinna Vinschen2014-07-291-5/+6
| | | | | required anymore more to the top of the usage output. * mkpasswd.c (usage): Ditto for /etc/passwd. Drop old text from output.
* * mkgroup.c (domlist_t): Drop id_offset.Corinna Vinschen2014-02-241-300/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (get_dcname): Remove. (current_group): Remove. (enum_unix_groups): Simplify. Change space to underscore in domain name. (enum_local_groups): Simplify to accommodate the fact that it's only called for foreign machines. (enum_groups): Ditto. (print_special_by_sid): Remove. (print_special_by_name): Remove. (usage): Align to new code. (fetch_primary_domain): Remove. (main): Use cygwin_internal CW_SETENT, CW_GETENT and CW_ENDENT method. Call enum_local_groups, enum_groups, and enum_unix_groups only for foreign machines. * mkpasswd.c (get_dcname): Remove. (current_user): Remove. (enum_unix_users): Simplify. Change space to underscore in domain name. (enum_users): Simplify to accommodate the fact that it's only called for foreign machines. (print_special_by_sid): Remove. (usage): Align to new code. (longopts): Add -b/--no-builtin option. (opts): Add -b option. (print_special_by_name): Remove. (enum_std_accounts): Remove. (fetch_primary_domain): Remove. (main): Use cygwin_internal CW_SETENT, CW_GETENT and CW_ENDENT method. Call enum_users and enum_unix_users only for foreign machines. * utils.xml (mkgroup): Align documentation to new usage. (mkpasswd): Ditto.
* * Merge in cygwin-64bit-branch.Corinna Vinschen2013-04-231-20/+26
|
* Update copyrightsChristopher Faylor2013-01-211-2/+2
|
* * mkpasswd.c (current_user): Actually *use* $HOME if it's available.Corinna Vinschen2012-05-051-2/+6
| | | | Add comment to explain what we're doing here.
* * mkgroup.c (print_special_by_sid): Rename from print_special. ChangeCorinna Vinschen2012-04-051-6/+31
| | | | | | | | | | | calls throughout. (print_special_by_name): New function. (main): Call print_special_by_name for TrustedInstaller account. * mkpasswd.c (print_special_by_sid): Rename from print_special. Change calls throughout. (print_special_by_name): New function. (enum_std_accounts): Call print_special_by_name for TrustedInstaller account.
* Clean up whitespace.Christopher Faylor2011-12-171-7/+7
|
* * mkgroup.c: Drop support for NT4 domains.Corinna Vinschen2011-12-011-108/+31
| | | | | | | | | | | * mkpasswd.c: Ditto. (psx_dir): Remove. (current_user): Drop support for -m option. Use $HOME as is since it's a POSIX path anyway. (enum_users): Drop support for -m option. (usage): Mention -m option as ignored. (main): Drop support for -m option. Mark ignored options as deprecated. * utils.sgml (mkpasswd): Remove description of -m option.
* * Align usage output, version output, as well as usage and versionCorinna Vinschen2011-10-101-41/+38
| | | | | | | | | option handling to use the same style throughout all Cygwin utils. Throughout use program_invocation_short_name to refer to current process name in Cygwin executables. * utils.sgml: Align documentation to above change. Add missing sections for getconf, ldd, and setmetamode. * strace.cc (proc_child): Avoid compiler warning.
* * loadlib.h: New header implementing safe LoadLibrary calls.Corinna Vinschen2010-08-281-1/+2
| | | | | | | | | | | | Include throughout files using LoadLibrary function. * cygcheck.cc (dump_sysinfo): Retrieve kernel32.dll handle via GetModuleHandle, rather than using LoadLibrary. * cygpath.cc (get_long_name): Ditto. (do_sysfolders): Append .dll suffix in LoadLibrary call. * ldh.cc (WinMain): Use LoadLibraryExW with DONT_RESOLVE_DLL_REFERENCES to avoid loading malicious library code. * locale.cc (print_locale_with_codeset): Change way to retrieve kernel32.dll path.
* * mkpasswd.c: Properly define __progname as __declspec(dllimport).Christopher Faylor2009-10-021-1/+1
| | | | * mkgroup.c: Ditto.
* * mkgroup.c (enum_local_groups): Avoid error message if given groupCorinna Vinschen2009-08-111-0/+4
| | | | | | | name isn't found and return 0 to allow searching to proceed. Always return 0 or 1, not -1. (enum_groups): Avoid error message if given group name isn't found. * mkpasswd.c (enum_users): Ditto.
* * cygpath.cc (main): Only setlocale for LC_CTYPE category. FallbackCorinna Vinschen2009-05-151-0/+5
| | | | | | | | to UTF-8 if locale is "C". * ldd.cc (main): Ditto. * mkgroup.c (main): Ditto. * mkpasswd.c (main): Ditto. * passwd.c (main): Ditto.
* * mkpasswd.c (current_user): Don't use HOMEDRIVE/HOMEPATH to generateCorinna Vinschen2009-05-061-21/+6
| | | | | | | | | user's homedir. * mkgroup.c: Accommodate ctype changes. * mkpasswd.c: Ditto. * setfacl.c: Ditto. * ssp.c: Ditto.
* * mkgroup.c (enum_local_groups): Don't skip printing groups whenCorinna Vinschen2008-08-251-3/+1
| | | | | | | | | print_current is set and group SID is not curr_pgrp. (enum_groups): Ditto. (main): Fix condition when SYSTEM group gets printed. * mkpasswd.c (enum_users): Don't skip printing users when print_current is set and user SID is not curr_user. (main): Allow printing standard accounts even when print_current is set.
* * mkgroup.c (main): Keep correctly track of optional arguments.Corinna Vinschen2008-08-181-1/+1
| | | | * mkpasswd.c (main): Ditto.
* * mkgroup.c (main): Always unset environment variable POSIXLY_CORRECT.Corinna Vinschen2008-08-181-0/+5
| | | | | Keep track of optional argumnts and fix up optind afterwards. * mkpasswd.c (main): Ditto.
* * mkpasswd.c (main): Avoid printing system accounts when a single user name hasChristopher Faylor2008-08-171-1/+1
| | | | been requested.
* * Makefile.in (ALL_LDFLAGS): Add --enable-auto-import option to quiet ldChristopher Faylor2008-08-171-50/+62
| | | | | | | | | | | | | | | | | | | warnings. * mkgroup.c: Change all global variables and most functions to static. (enum_local_groups): Add a print_current parameter to control whether entries for everything should be printed or just the current user. (enum_groups): Ditto. (main): Move call fetch_current_pgrp_sid earlier to avoid a NULL deference when no command line arguments are specified. Accommodate argument changes to above functions. Avoid printing SYSTEM account when print_current is specified. Issue error when extra stuff is found on the command line. * mkpasswd.c: Change all global variables and most functions to static. (enum_users): Add a print_current parameter to control whether entries for everything should be printed or just the current user. (main): Move call fetch_current_user_sid earlier to avoid a NULL deference when no command line arguments are specified. Accommodate argument change to above function. Avoid printing standard accounts when print_current is specified. Issue error when extra stuff is found on the command line.
* * mkgroup.c (fetch_current_pgrp_sid): New function to fetch primaryCorinna Vinschen2008-08-151-16/+40
| | | | | | | | | | | | | | | | | | group SID from user token. (current_group): Move up in file. Move fetching primary group SID to fetch_current_pgrp_sid. (enum_local_groups): Check if current SID is the same as current user's primary group SID. (enum_groups): Ditto. (main): Call fetch_current_pgrp_sid before enumerating groups. Call current_group only if current group hasn't been enumerated already. * mkpasswd.c (fetch_current_user_sid): New function to fetch current user SID from user token. (current_user): Move fetching current user SID to fetch_current_user_sid. (enum_users): Check if current SID is the same as current user's SID. (main): Call fetch_current_user_sid before enumerating users. Call current_user only if current user hasn't been enumerated already.
* * mkgroup.c (main): Fix test for duplicate domain/machine request.Corinna Vinschen2008-07-231-4/+13
| | | | * mkpasswd.c (main): Ditto.
* * mkgroup.c: Rework to allow per-domain/per-machine id_offset.Corinna Vinschen2008-07-231-72/+73
| | | | | | | | | Add -b option to skip builtin groups. (main): Simplify code. * mkpasswd.c: Rework to allow per-domain/per-machine id_offset. (main): Simplify code. * utils.sgml: Explain changed mkgroup/mkpasswd -d/-D/-l/-L options. Add mkgroup -b option.
* * mkgroup.c: Consolidate variable names.Corinna Vinschen2008-07-231-20/+140
| | | | | | | | | | | | | | | | | | (enum_unix_groups): New function. (print_special): Use LookupAccountSidW instead of LookupAccountSidA. (current_group): Ditto. (usage): Add -U option. (longopts): Add --unix option. (opts): Add -U option. (main): Handle -U option. Call enum_unix_groups if set. * mkpasswd.c: Consolidate variable names. (current_user): Use LookupAccountSidW instead of LookupAccountSidA. (enum_unix_users): New function. (usage): Add -U option. (longopts): Add --unix option. (opts): Add -U option. (main): Handle -U option. Call enum_unix_groups if set. * utils.sgml: Add -U option text to mkgroup and mkpasswd description.
* * mkgroup.c (enum_groups): Create full qualified groupname usingCorinna Vinschen2008-07-221-1/+2
| | | | | domain or servername, depending on printing domain or machine accounts. * mkpasswd.c (enum_users): Ditto for users.
* * Makefile.in (cygcheck.exe): Link against ntdll.Corinna Vinschen2008-07-221-397/+379
| | | | | | | | | | | | | | | | | | | | * bloda.cc: Use statically linked functions throughout. * cygpath.cc: Drop 9x considerations. * mkgroup.c: Revamp. Redefine -l and -d options to take optional machine and domain parameters. Redefine -c to work always, using token information. Add -L, -D, -C to create unique groupnames in domain\group syntax. Add -S option to define domain\group separator char. Ignore -u and -s options. * mkpasswd.c: Revamp. Redefine -l and -d options to take optional machine and domain parameters. Redefine -c to work always, using token information. Add -L, -D, -C to create unique usernames in domain\user syntax. Add -S option to define domain\user separator char. Ignore -g and -s options. Prefer to take homedir from $HOME over $HOMEDRIVE/$HOMEPATH. * path.cc (oopts): Add "acl", "noacl", "posix=0" and "posix=1" options. (getmntent): Accomodate throughout. * ps.cc: Fix copyright dates. * utils.sgml: Fix text for mkgroup and mkpasswd.
* * mkgroup.c: Use statically linked functions throughout, except forCorinna Vinschen2008-07-091-125/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DsGetDcNameW. Reformat. Convert to use WCHAR for names throughout. Use defines instead of constants throughout. (MAX_SID_LEN): Define. (load_netapi): Just load DsGetDcNameW pointer. (psx_dir): Remove. (uni2ansi): Remove. (enum_local_users): Take server name and use in Net... call. (DBGSID): Define datastructure. (MAX_BUILTIN_SIDS): Define. (builtin_sid_list): Define global sid list. (builtin_sid_cnt): Define counter for global sid list. (enum_local_groups): Take server name and use in Net... and Lookup... calls. Take offset argument. Use MAX_PREFERRED_LENGTH in call to NetLocalGroupEnum. Check for duplicate builtin groups. (enum_users): Take server name and use in Net... call. (usage): Change text slightly. (print_version): Fix copyright. (main): Call enum_local_groups for domains as well. * mkpasswd.c: Use statically linked functions throughout, except for DsGetDcNameW. Reformat. Convert to use WCHAR for names throughout. Use defines instead of constants throughout. (MAX_SID_LEN): Define. (load_netapi): Just load DsGetDcNameW pointer. (uni2ansi): Use wcstombs. (current_user): Replace "unused_by_nt/2000/xp" by just "unused". (enum_users): Ditto. (print_version): Fix copyright.
* * cygpath.cc (do_sysfolders): Use cygwin_conv_path.Corinna Vinschen2008-03-121-2/+4
| | | | | | | | | | | | (do_pathconv): Use cygwin_conv_path and cygwin_conv_path_list. * dumper.cc (main): Use cygwin_conv_path. Allocate target path dynamically. * mkpasswd.c (current_user): Use cygwin_conv_path. (enum_users): Ditto. * ps.cc (NT_MAX_PATH): Define. (main): Use cygwin_conv_path. * regtool.cc (find_key): Ditto. Allocate target path dynamically. (cmd_save): Ditto.
* * mkpasswd.c (main): Simplify generating SYSTEM entry. Add entriesCorinna Vinschen2008-02-281-15/+5
| | | | for LocalService and NetworkService accounts. Change comments.
* bad_keywordsChristopher Faylor2006-01-181-8/+8
|
* Align error message handling to mkpasswd's error messages throughout.Corinna Vinschen2005-09-211-13/+48
| | | | | | | | | | | | | | | | * mkgroup.c (print_win_error): Create macro calling ... (_print_win_error): ... this function created from former print_win_error. Move up in source. (PDOMAIN_CONTROLLER_INFOW): Define return type of DcGetDcNameW. (dsgetdcname): New function pointer for DcGetDcNameW. (load_netapi): Get DcGetDcNameW address. (main): If DcGetDcNameW is available, use it. * mkpasswd.c (PDOMAIN_CONTROLLER_INFOW): Define return type of DcGetDcNameW. (dsgetdcname): New function pointer for DcGetDcNameW. (load_netapi): Get DcGetDcNameW address. (main): If DcGetDcNameW is available, use it. Rename local variable domain_name_specified to domain_specified as in mkgroup.c.
* 2005-01-11 Pierre Humblet <pierre.humblet@ieee.org>Pierre Humblet2005-01-111-7/+10
| | | | | | | | | * mkpasswd.c (print_win_error): Transform into macro. (_print_win_error): Upgrade former print_win_error by printing the line. (current_user): Call _print_win_error. (enum_users): Print name in case of lookup failure. (enum_local_groups): Ditto.
* * mkgroup.c: Avoid compiler warnings throughout.Corinna Vinschen2003-11-141-5/+5
| | | | | * mkpasswd.c: Ditto. * passwd.c: Ditto.
* * mkpasswd.c (usage) Remove extra newline from description output.Joshua Daniel Franklin2003-04-261-1/+1
|
* * cygcheck.cc (usage) Add description output.Joshua Daniel Franklin2003-04-261-1/+1
|
* 2003-04-10 Pierre Humblet <pierre.humblet@ieee.org>Pierre Humblet2003-04-101-48/+49
| | | | | | | | | | | | | * mkpasswd.c (current_user): print uid and gid as unsigned. (enum_users): Ditto. Do not free servername. (usage): Update to allow several domains and improve -p. (main): On Win9x limit uids to 1000. Only print specials when -l is specified. Add a loop to allow several domains and free servername in the loop. * mkgroup.c (enum_groups): Do not free servername. (usage): Update to allow several domains. Change uid to gid. (main): Only print specials when -l is specified. Add a loop to allow several domains and free servername in the loop.
* 2003-03-01 Pierre Humblet <pierre.humblet@ieee.org>Pierre Humblet2003-03-011-13/+23
| | | | | | | | * mkpasswd.cc (main): On Win95, output both a default line and a line for the current user (if known) with a pseudorandom uid. If the -u switch is given, produce a line for the specified user. * mkgroup.cc (main): On Win95 change the group name from "unknown" to "all".
* * mkgroup.c: Fix copyright date.Corinna Vinschen2003-01-151-1/+1
| | | | | | | * mkpasswd.c: Ditto. * setfacl.c: Ditto. Fix ChangeLog typos.
* * mkpasswd.cc (current_user): Create.Corinna Vinschen2003-01-081-92/+195
| | | | | | | | | | | | | (usage): Reorganize to support Win95/98/ME. (main): Add option for -c. Reorganize to parse options for Win95/98/ME and to call current_user. Add username in gecos field on Win95/98/ME. * mkgroup.cc (enum_groups): Print gid with %u. (print_win_error): Create from passwd.cc. (current_group): Create. (usage): Reorganize to support Win95/98/ME. (main): Add option for -c. Reorganize to parse options for Win95/98/ME and to call current_group.
* * mkpasswd.c (main): Set pw_passwd field to '*' on 9x/Me.Corinna Vinschen2002-11-251-5/+5
|
* * cygpath.cc (close_arg): Remove unused static.Christopher Faylor2002-09-301-0/+1
| | | | | | | * mkgroup.c (enum_local_users): Avoid compiler warning. (enum_users): Ditto. * mkpasswd.c: Ditto throughout. * ssp.c: Ditto throughout.
* Add final newlines to utilsJoshua Daniel Franklin2002-09-151-1/+2
|
* * mkgroup.c (main): Don't print an entry for "Everyone".Corinna Vinschen2002-08-021-4/+6
| | | | | * mkpasswd.c (print_special): Set pw_gid to 544 for SYSTEM user. (main): Don't print an entry for "Everyone".
* * mkpasswd.cc (main): Don't reset to binmode if stdout is a terminal.Christopher Faylor2002-05-301-1/+2
|
* * mkgroup.c (main): Change call to exit() to a return statement.Corinna Vinschen2002-04-291-24/+53
| | | | | | | | | | | | * mkpasswd.c (main): Ditto. * mkpasswd.c (usage): Simplify usage output. Generalize to allow use for help. Correct '?' typo to 'h'. (longopts): Add version option. (opts): Add 'v' version option. (print_version): New function. (main): Accommodate new version option. Accommodate usage parameter changes.