summaryrefslogtreecommitdiffstats
path: root/pw
Commit message (Collapse)AuthorAgeFilesLines
* Add another badly-needed simple example to the pw(8) man page.Warren Block2016-09-131-1/+6
|
* Fix up setgrent(3) to have a POSIX-compliant prototype.Ed Schouten2016-07-312-12/+3
| | | | | | | | | | | | | | | | | | | Just like with freelocale(3), I haven't been able to find any piece of code that actually makes use of this function's return value, both in base and in ports. The reason for this is that FreeBSD seems to be the only operating system to have such a prototype. This is why I'm deciding to not use symbol versioning for this. It does seem that the pw(8) utility depends on the function's typing and already had a switch in place to toggle between the FreeBSD and POSIX variant of this function. Clean this up by always expecting the POSIX variant. There is also a single port that has a couple of local declarations of setgrent(3) that need to be patched up. This is in the process of being fixed. PR: 211394 (exp-run)
* Remove usage of _WITH_GETLINE from usr.sbinBaptiste Daroussin2016-07-302-2/+0
|
* Do not try to delete the home of the user if is is not a directory for exampleBaptiste Daroussin2016-07-231-0/+3
| | | | | | | | | "/dev/null" PR: 211195 Submitted by: rday <ryan@ryanday.net> Reported by: eniorm <eniorm@gmail.com> MFC after: 1 day
* pw should sanitize the argument of -w.Alan Somers2016-07-133-3/+22
| | | | | | | | | | | | | | | | | | | | | | | | Otherwise, it will silently disable the login for the selected account if the argument is unrecognizable. usr.sbin/pw/pw.h usr.sbin/pw/pw_conf.c usr.sbin/pw/pw_user.c Use separate rules to validate boolean parameters and passwd parameters. Error out if a password parameter cannot be parsed. usr.sbin/pw/tests/Makefile usr.sbin/pw/tests/crypt.c usr.sbin/pw/tests/pw_useradd.sh usr.sbin/pw/tests/pw_usermod.sh Add tests for the validation. Also, enhance existing password-related tests to actually validate that the correct hash is written to master.passwd. Reviewed by: bapt MFC after: 4 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D6840
* Fix typo preventing pw {user,group}next -C from working as expectedBaptiste Daroussin2016-06-042-2/+2
| | | | | Reported by: Mike Selnet via forums.freebsd.org MFC after: 3 days
* Fix CID 1006692 in /usr/sbin/pw pw_log() function and other fixesDon Lewis2016-05-241-21/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | The length of the name returned from the $LOGNAME and $USER can be very long and it was being concatenated to a fixed length buffer with no bounds checking. Fix this problem by limiting the length of the name copied. Additionally, this name is actually used to create a format string to be used in adding log file entries so embedded % characters in the name could confuse *printf(), and embedded whitespace could confuse a log file parser. Handle the former by escaping each % with an additional %, and handle the latter by simply stripping it out. Clean up the code by moving the variable declarations to the top of the function, formatting them to conform with style, and moving intialization elsewhere. Reduce code indentation by returning early in a couple of places. Reported by: Coverity CID: 1006692 Reviewed by: markj (previous version) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D6490
* Add a single example of adding a user that roughly corresponds with theWarren Block2016-04-231-1/+13
| | | | | | adduser example in the Handbook. MFC after: 1 week
* Adjust misleading wording of the -G option and simplify a fewWarren Block2016-03-281-11/+9
| | | | | | surrounding sentences. From a discussion on -ports. Reviewed by: David Wolfskill <david@catwhisker.org>
* Remove some unneeded headersBaptiste Daroussin2016-03-264-7/+0
| | | | Found by 'include-what-you-use'
* Fix a typo that prevented pw(8) from setting a user's UID to 0.Mark Johnston2016-03-021-1/+1
| | | | | MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
* Simplify code for parsing extra groupsBaptiste Daroussin2015-12-291-1/+1
|
* Remove useless assignement of linelenBaptiste Daroussin2015-12-291-2/+0
|
* Restore dryrun support for pw groupmodBaptiste Daroussin2015-12-281-0/+5
|
* pw_checkname since the beginning if too strict on GECOS field,Baptiste Daroussin2015-12-021-1/+2
| | | | | | | | | | | relax it a bit so gecos can be used to store multibytes data. This was unseen before FreeBSD 10.2 as this validation function was motly unused since FreeBSD 10.2 the usage of this function has been generalized to improve validation. Reported by: des MFC after: 1 week
* Fix handling of numeric-only names with pw lockBaptiste Daroussin2015-12-021-9/+12
| | | | | | | Add a regression test about it PR: 204968 MFC after: 1 week
* In pw_userlock, set 'name' to NULL when we encounter an all number stringXin LI2015-10-301-2/+3
| | | | | | | | because it is also used as an indicator of whether a name or an UID is being used and we may have undefined results as 'name' may contain uninitialized stack contents. MFC after: 2 weeks
* Fix unlikely memory leak.Bryan Drewery2015-10-291-1/+3
| | | | | | | It is unlikely since the first check in the function is that dir[0] is '/', but later code changes may make it real. Coverity CID: 1332104
* Initialize `quiet` to false so `pw groupnext` again prints out the next gidEnji Cooper2015-10-191-1/+1
| | | | | | | | | by default Reported by: Florian Degner <f.degner@gmx.de> MFC after: 1 week PR: 203876 Sponsored by: EMC / Isilon Storage Division
* Fix a repeated typo: rootir -> rootdir.Warren Block2015-10-091-11/+11
| | | | | Approved by: bapt MFC after: 1 week
* Regression: fix usershow -7Baptiste Daroussin2015-09-141-1/+1
| | | | | Submitted by: Dan McGregor (via IRC) MFC after: 2 days
* Regression: fix pw usermod -dBaptiste Daroussin2015-09-121-0/+1
| | | | | | | | | Mark the user has having been edited if -d option is passed to usermod and so the request change of home directory actually happen PR: 203052 Reported by: lenzi.sergio@gmail.com MFC after: 2 days
* Fix err pointer not initialized to NULL resultingBaptiste Daroussin2015-08-211-0/+1
| | | | Reported by: "O. Hartmann" <ohartman@zedat.fu-berlin.de>
* Fix /home symlink creationBaptiste Daroussin2015-08-211-1/+1
| | | | Add regression test about it
* Fix useradd regression:Baptiste Daroussin2015-08-211-0/+66
| | | | | | | | Readd the function to create the parents home directory if it does not exists. if it is only a directory at the top level of the hierarchy symlink it into /usr as it used to be done before. Reported by: kevlo, adrian
* Regression: fix pw usermod -w xxxBaptiste Daroussin2015-08-141-0/+2
| | | | Reported by: gjb
* Avoid calling strlen() where we can use the strspn() return value.Ed Schouten2015-08-032-9/+9
|
* Clarify pw(8) manual w/respect to required arguments. Break long lines atDevin Teske2015-08-031-90/+118
| | | | | | | | | punctuation while here. Differential Revision: https://reviews.freebsd.org/D2700 Reviewed by: wblock, bapt MFC after: 3 days X-MFC-to: stable/10
* Fix bugs spotted by gccBaptiste Daroussin2015-08-031-3/+4
| | | | Reported by: adrian
* Actually set quiet to something.Adrian Chadd2015-08-031-1/+1
| | | | | /usr/home/adrian/work/freebsd/head-embedded-2/src/usr.sbin/pw/pw_user.c: In function 'pw_user_next': /usr/home/adrian/work/freebsd/head-embedded-2/src/usr.sbin/pw/pw_user.c:680: warning: statement with no effect
* Use intmax_t rather than long longBaptiste Daroussin2015-08-021-2/+2
|
* Fix build on 32bitsBaptiste Daroussin2015-08-021-2/+2
|
* Split some extra long linesBaptiste Daroussin2015-08-021-2/+4
|
* Split some extra long linesBaptiste Daroussin2015-08-021-5/+10
|
* 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
|