summaryrefslogtreecommitdiffstats
path: root/libc
Commit message (Collapse)AuthorAgeFilesLines
* Recommit everything, add chpass, improve history (except for a few files ↵Cameron Katri2021-05-021-23/+4
| | | | that git-filter-repo dislikes for some reason [_secure_path.c and login_cap.h])
* Make pw_scan(3) more compatible with getpwent(3) et. al. when processingIan Lepore2018-07-262-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | data from /etc/passwd rather than /etc/master.passwd. The libc getpwent(3) and related functions automatically read master.passwd when run by root, or passwd when run by a non-root user. When run by non- root, getpwent() copes with the missing data by setting the corresponding fields in the passwd struct to known values (zeroes for numbers, or a pointer to an empty string for literals). When libutil's pw_scan(3) was used to parse a line without the root-accessible data, it was leaving garbage in the corresponding fields. These changes rename the static pw_init() function used by getpwent() and friends to __pw_initpwd(), and move it into pw_scan.c so that common init code can be shared between libc and libutil. pw_scan(3) now calls __pw_initpwd() before __pw_scan(), just like the getpwent() family does, so that reading an arbitrary passwd file in either format and parsing it with pw_scan(3) returns the same results as getpwent(3) would. This also adds a new pw_initpwd(3) function to libutil, so that code which creates passwd structs from scratch in some manner that doesn't involve pw_scan() can initialize the struct to the values expected by lots of existing code, which doesn't expect to encounter NULL pointers or garbage values in some fields.
* Revert r336619, it appears to cause problems with ssh, and probably otherIan Lepore2018-07-231-2/+1
| | | | things which use pw_scan().
* Set the pw_class field to NULL when scanning the non-master passwd file.Ian Lepore2018-07-221-1/+2
| | | | | This avoids a null pointer deref in pw_dup(), which assumes that all pointers are either NULL or valid.
* Clean up the vcs ID strings in libc's gen/ directory.John Baldwin2018-07-031-3/+1
| | | | | | | | | | | | | | | | | - Move CSRG IDs into __SCCSID(). - When a file has been copied, consistently use 'From: <tag>' for strings referencing the version of the source file copied from in the license block comment. - Some of the 'From:' tags were using $FreeBSD$ that was being expanded on each checkout. Fix those to hardcode the FreeBSD tag from the file that was copied at the time of the copy. - When multiple strings are present list them in "chronological" order, so CSRG (__SCCSID) before FreeBSD (__FBSDID). If a file came from OtherBSD and contains a CSRG ID from the OtherBSD file, use the order CSRG -> OtherBSD -> FreeBSD. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D15831
* Remove unused includes.Xin LI2018-01-011-2/+0
|
* General further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-202-0/+4
| | | | | | | | | | | | | | Mainly focus on files that use BSD 3-Clause license. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point.
* Renumber copyright clause 4Warner Losh2017-02-282-0/+248
| | | | | | | | | Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is too pedantic, so give up on that point. Submitted by: Jan Schaumann <jschauma@stevens.edu> Pull Request: https://github.com/freebsd/freebsd/pull/96
* Minor style tweaks.Pedro F. Giffuni2014-08-131-0/+68
| | | | | Obtained from: OpenBSD (CVS rev. 1.7) MFC after: 3 days
* Create the altix project branch. The altix project will add supportMarcel Moolenaar2010-03-103-316/+0
| | | | | | | for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting is a two-module system, consisting of a base compute module and a CPU expansion module. SGI's NUMAFlex architecture can be an excellent platform to test CPU affinity and NUMA-aware features in FreeBSD.
* It is believed the last subsystem that limited ID sizes to somethingKen Smith2009-07-221-7/+18
| | | | | | | | | | other than the current system-wide size (32-bits) has been updated so for now just cautiously turn the check off. While here fix the check for IDs being too large which doesn't work due to type mis-matches. Reviewed by: jhb (previous version) Approved by: re (kib) MFC after: 1 month (type mis-match fixes only)
* Per Regents of the University of Calfornia letter, remove advertisingWarner Losh2007-01-092-8/+0
| | | | | | clause. # If I've done so improperly on a file, please let me know.
* POSIXed strtoll() (and ours one too) can set errno to EINVAL, so checkAndrey A. Chernov2006-03-141-1/+1
| | | | | | it first. Approved by: andre
* Import of OpenBSD's strtonum(3) which is a nicer version of strtoll(3)Andre Oppermann2006-03-141-0/+68
| | | | | | | | providing proper error checking and other improvements. Obtained from: OpenBSD Requested by: flz (to port Open[BGP|OSPF]D) MFC after: 3 days
* add missing endusershell() call. Original version was incorrect.Philippe Charnier2004-01-181-1/+3
| | | | | PR: bin/2442 Reviewed by: Friedemann Becker <zxmxy33@mail.uni-tuebingen.de>
* Do not allow empty GIDs for non-NIS entries.Maxim Konovalov2002-10-111-0/+7
| | | | MFC after: 2 weeks
* Too strict error checking in rev. 1.22 broke pwd_mkdb(8) in NISMaxim Konovalov2002-10-021-2/+2
| | | | | | environment. An empty UID and GID are valid there. Spotted by: rwatson
* Disqualify UID/GID with non-numeric character.Maxim Konovalov2002-09-251-3/+13
| | | | | | PR: bin/41721 Reviewed by: tjr, silence on -audit MFC after: 2 weeks
* Fix the style of the SCM ID's.David E. O'Brien2002-03-221-2/+1
| | | | I believe have made all of libc .h's as consistent as possible.
* Remove __P() usage.David E. O'Brien2002-03-211-1/+1
|
* Bring a comment in line with the code, and fix some spelling errorsDima Dorfman2002-03-091-4/+3
| | | | | | | while I'm here. PR: 35394 Submitted by: andrew@ugh.net.au
* Fix SCM ID's.David E. O'Brien2002-02-011-6/+4
|
* Correct some egregious style bugs.Dag-Erling Smørgrav2001-12-041-13/+21
|
* Add a missing error check. This fixes a bug that would cause pwd_mkdb toDag-Erling Smørgrav2001-12-041-1/+2
| | | | | | | | | dump core if invoked with an input file that looks like a password file but isn't (e.g. /etc/group). PR: 32378 Submitted by: Maxim Konovalov <maxim@macomnet.ru> MFC after: 1 week
* Use the right format string for printing ULONG_MAX.David Malone2001-03-051-2/+2
|
* Add nsswitch support. By creating an /etc/nsswitch.conf file, you canJacques Vidrine2000-09-062-27/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | configure FreeBSD so that various databases such as passwd and group can be looked up using flat files, NIS, or Hesiod. = Hesiod has been added to libc (see hesiod(3)). = A library routine for parsing nsswitch.conf and invoking callback functions as specified has been added to libc (see nsdispatch(3)). = The following C library functions have been modified to use nsdispatch: . getgrent, getgrnam, getgrgid . getpwent, getpwnam, getpwuid . getusershell . getaddrinfo . gethostbyname, gethostbyname2, gethostbyaddr . getnetbyname, getnetbyaddr . getipnodebyname, getipnodebyaddr, getnodebyname, getnodebyaddr = host.conf has been removed from src/etc. rc.network has been modified to warn that host.conf is no longer used at boot time. In addition, if there is a host.conf but no nsswitch.conf, the latter is created at boot time from the former. Obtained from: NetBSD
* Fix various unsigned vs signed errors that caused problems with uidsPaul Richards2000-03-091-5/+14
| | | | | | | and gids bigger than 16 bits. Added checks for uids and gids that are bigger than 32 bits. Approved by: jkh (partly, this fix is bigger than I first intended)
* Replace the -q option to pwd_mkdb with a test for PW_SCAN_BIG_IDS inSheldon Hearn1999-12-021-1/+8
| | | | | | | | | | | the environment. This allows big ID warnings to be suppressed for vipw and chpass as well. Since the environment variable test is only performed for callers of pw_scan() that do not set pw_big_ids_warning, the test can still be overriden. Currently, chpass and pwd_mkdb are the only users of pw_scan() and neither of them overrides the environment variable test.
* Allow empty UIDs if we are processing NIS records. I am not entirelyEivind Eklund1999-11-221-2/+4
| | | | | | | | happy with how this end up and will re-visit the entire empty field problem, but this patch solves the NIS problem for now. Submitted by: Dan Nelson <dan@emsphone.com> PR: 14865,14984
* Add to pwd_mkdb a -q option to silence warnings about large IDs. Add aSheldon Hearn1999-11-152-4/+15
| | | | | | | | | suitably ominous warning in the manual page. The diff applied is not the one provided in the attributed PR. PR: 13344 Reviewed by: bde
* Flag empty UID entries as errors (to stop typos from turning intoEivind Eklund1999-11-061-1/+6
| | | | alternate root accounts).
* Back out previous commit. I mistook passing commentary from bde forSheldon Hearn1999-08-311-9/+6
| | | | | | review. Requested by: bde
* Only issue a warning for the first occurrence of a UID > USHRT_MAX andSheldon Hearn1999-08-301-6/+9
| | | | | | | the first occurrence of a GID > USHRT_MAX. PR: 13344 Reviewed by: bde
* $Id$ -> $FreeBSD$Peter Wemm1999-08-281-1/+1
|
* Staticize usage(). Cosmetics.Philippe Charnier1997-10-101-2/+5
|
* Submitted by: archie@whistle.comJulian Elischer1996-06-201-2/+2
| | | | | This program should COMPLAIN about uids > 65K but not abort.. they are after all legal, and some of us NEED them!
* Remove trailing whitespace.Rodney W. Grimes1995-05-301-1/+1
|
* Be sure to properly fail if there are not enough fields. ProblemDavid Greenman1995-01-271-2/+4
| | | | reported by MARC Giannoni <marc@cmc.eng.comsat.com>, this fix is by me.
* Maintain pw_fields, and output same to password database.Garrett Wollman1994-09-201-0/+17
| | | | | | | | | | | !!!!!!!! NB !!!!!!!! You MUST pwd_mkdb /etc/master.passwd before attempting to use the new libc, or things may go wrong. (I doubt anything actually /will/ go wrong, but the actual behavior is undefined. YOU HAVE BEEN WARNED.) The database format is, however, backwards-compatible, so old executables will still work.
* BSD 4.4 Lite usr.sbin SourcesRodney W. Grimes1994-05-262-0/+158