summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | Cleanup a bit includesBaptiste Daroussin2015-08-0212-52/+43
| | | | | |
| * | | | | Fix regression: report if a group already exists when creating itBaptiste Daroussin2015-08-021-0/+2
| | | | | |
| * | | | | Fix regression: report again if a username already exists when creating itBaptiste Daroussin2015-08-021-0/+3
| | | | | |
| * | | | | Remove dead codeBaptiste Daroussin2015-08-021-11/+0
| | | | | |
| * | | | | Rewrite parsing subcommands arguments of pw(8)Baptiste Daroussin2015-08-0210-1482/+1951
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now each subcommands checks its arguments in a dedicated functions. This helps improving input validation, code readability/maintainability While here: - Add a -y option to pw userdel/usermod so it can maintain NIS servers if nispasswd is not defined in pw.conf(5) - Allow pw -r <rootdir> to remove directory with userdel -r - Fix bug when renaming a user which was not renaming the user name it groups it is a member of. - Only parse pw.conf(5) when needed.
| * | | | | Remove things that crept in after badly checked revertBaptiste Daroussin2015-08-011-2/+0
| | | | | |
| * | | | | Partial revert of r286152Baptiste Daroussin2015-08-014-16/+6
| | | | | | | | | | | | | | | | | | | | | | | | More work needed on the cli validation
| * | | | | Fix buildBaptiste Daroussin2015-08-011-0/+1
| | | | | |
| * | | | | Fix formatting of new codeBaptiste Daroussin2015-08-011-20/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix sorting or errstr Remove useless initialisation or errstr Reported by: bde
| * | | | | Validate expiration days and password days from commmand line and pw.confBaptiste Daroussin2015-08-014-8/+28
| | | | | |
| * | | | | Validate the max_uid/max_gid boundaries and entry type in pw.confBaptiste Daroussin2015-08-011-7/+23
| | | | | |
| * | | | | Cast uid/git to uintmax_t when using printf-like functions so the size ofBaptiste Daroussin2015-08-013-23/+27
| | | | | | | | | | | | | | | | | | | | | | | | uid/gid size remains a implementation detail
| * | | | | Improve strtounumBaptiste Daroussin2015-07-302-24/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix many style bugs Better variable naming Use C99 'restrict' were apropriate Fix potential errno race Submitted by: bde
| * | | | | Cleanup includesBaptiste Daroussin2015-07-291-6/+3
| | | | | |
| * | | | | Actually set the proper licenseBaptiste Daroussin2015-07-291-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | Reported by: trasz
| * | | | | Actually add the new codeBaptiste Daroussin2015-07-291-0/+73
| | | | | |
| * | | | | Create a strtounum function using the same API as strtonumBaptiste Daroussin2015-07-293-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This function returns uintmax_t Use this function to convert to gid_t/uid_t
| * | | | | Reject usermod and userdel if the user concerned is not on the user databaseBaptiste Daroussin2015-07-281-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | supposed to be manipulated This prevent pw usermod creating a new local user when requesting to usermod on a username is defined in LDAP. This issue only happens when modifying the local user database (not inpacting commands when -V or -R are used). PR: 187653 Submitted by: tmwalaszek@gmail.com
| * | | | | Check uid/gid used when creating a user/group are not larger than ↵Baptiste Daroussin2015-07-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UID_MAX/GID_MAX PR: 173977 Reported by: nvass@gmx.com
| * | | | | Fix wrong warning printed after changing or updating NIS usersBaptiste Daroussin2015-07-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR: 37672 Submitted by: chris+freebsd@chrullrich.de
| * | | | | when -n is passed to any pw subcommand it is always expected to be considered asBaptiste Daroussin2015-07-281-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a name so do not try to convert it to an id if it is a numeric value PR: 31933 Reported by: ted@impulse.net Sponsored by: gandi.net
| * | | | | Really fix -oBaptiste Daroussin2015-07-131-1/+1
| | | | | |
| * | | | | Regression fix: allow to create users with uid0Baptiste Daroussin2015-07-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Reported by: Jan Mikkelsen <janm@transactionware.com>
| * | | | | Fix logic of check duplicates that has been invertedBaptiste Daroussin2015-07-131-1/+2
| | | | | |
| * | | | | Ensure skeldir is abolute path (relatively to the rootdir)Baptiste Daroussin2015-07-121-4/+10
| | | | | |
| * | | | | pw -R <rootdir> userdel can now cleanup installationBaptiste Daroussin2015-07-123-84/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewrite rm_r to use *at function, allowing to remove home directories along with users. only crontabs and at(1) installation are not removed Relnotes: yes
| * | | | | Rework the home directory creation and copy or the skel content to use *atBaptiste Daroussin2015-07-124-87/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | functions This allows to simplify the code a bit for -R by not having to keep modifying path and also prepare the code to improve support -R in userdel While here, add regression tests for the functionality
| * | | | | Make getarg return NULL if args is NULLBaptiste Daroussin2015-07-122-5/+7
| | | | | |
| * | | | | Fix regression: ensure when try to create the group and the user with the sameBaptiste Daroussin2015-07-111-12/+4
| | | | | | | | | | | | | | | | | | | | | | | | id if possible and nothing in particular was specified
| * | | | | Remove now unused variableBaptiste Daroussin2015-07-111-3/+0
| | | | | |
| * | | | | Replace custom string array with stringlist(3)Baptiste Daroussin2015-07-115-95/+35
| | | | | |
| * | | | | Rework groupmod modification:Baptiste Daroussin2015-07-111-61/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use gr_add(3) when possible to avoid code duplication. Use a simpler logic to delete members of a group
| * | | | | Remove unused argument from pm_passwdBaptiste Daroussin2015-07-111-4/+4
| | | | | |
| * | | | | check the gecos format early: at the moment the -c option is parsedBaptiste Daroussin2015-07-113-4/+7
| | | | | |
| * | | | | Remove useless use of gotoBaptiste Daroussin2015-07-111-4/+3
| | | | | |
| * | | | | Isolate pw lock/unlock into a separate functionBaptiste Daroussin2015-07-111-44/+78
| | | | | |
| * | | | | homedir can only be populate during useraddBaptiste Daroussin2015-07-111-3/+3
| | | | | |
| * | | | | Make a separate groupdel/userdel from the main functionBaptiste Daroussin2015-07-114-34/+62
| | | | | |
| * | | | | Make separate functions to show users and groupsBaptiste Daroussin2015-07-114-33/+78
| | | | | |
| * | | | | Move the quiet flag into the configuration structureBaptiste Daroussin2015-07-114-3/+7
| | | | | |
| * | | | | Separate usernext/groupnext from the main functionsBaptiste Daroussin2015-07-113-29/+34
| | | | | |
| * | | | | Do not try to set password on group if the group is added as a consequence ofBaptiste Daroussin2015-07-093-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of creating a user (regression from r285136) Reported by: Fabian Keil <fk@fabiankeil.de>
| * | | | | pw: fail if an invalid entry is found while parsing master.passwd and groupBaptiste Daroussin2015-07-071-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR: 198554 Reported by: diaran <fbsd@centraltech.co.uk> MFC after: 2 days
| * | | | | Remove dead codeBaptiste Daroussin2015-07-051-15/+0
| | | | | |
| * | | | | Also validate hours via strptime_l(3)Baptiste Daroussin2015-07-051-51/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simplify the code, by only using one parser, ensure the dates (hours and dates) are valid
| * | | | | Validate expiration datesBaptiste Daroussin2015-07-051-0/+288
| | | | | | | | | | | | | | | | | | | | | | | | Use strptime_l(3) to validate the dates provided in input
| * | | | | Fix validation of crypted passwordBaptiste Daroussin2015-07-041-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | Small cleanups
| * | | | | Also validate inputs of pw groupmod -h and groupmod -HBaptiste Daroussin2015-07-041-46/+46
| | | | | |
| * | | | | Validate input of pw usermod -h and pwusermod -HBaptiste Daroussin2015-07-043-60/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Push the code that set the password into a separate function to improve readability Add regression tests about pw usermod -h and pw usermod -H
| * | | | | When passwd or group information is changed (by pw, vipw, chpass, ...)Renato Botelho2015-07-022-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | temporary file is created and then a rename() call move it to official file. This operation didn't have any check to make sure data was written to disk and if a power cycle happens system could end up with a 0 length passwd or group database. There is a pfSense bug with more infor about it: https://redmine.pfsense.org/issues/4523 The following changes were made to protect passwd and group operations: * lib/libutil/gr_util.c: - Replace mkstemp() by mkostemp() with O_SYNC flag to create temp file - After rename(), fsync() call on directory for faster result * lib/libutil/pw_util.c - Replace mkstemp() by mkostemp() with O_SYNC flag to create temp file * usr.sbin/pwd_mkdb/pwd_mkdb.c - Added O_SYNC flag on dbopen() calls - After rename(), fsync() call on directory for faster result * lib/libutil/pw_util.3 - pw_lock() returns a file descriptor to master password file on success Differential Revision: https://reviews.freebsd.org/D2978 Approved by: bapt Sponsored by: Netgate