aboutsummaryrefslogtreecommitdiffstats
path: root/guts/README
diff options
context:
space:
mode:
authorPeter Seebach <seebs@eee12.(none)>2010-03-29 17:58:46 -0500
committerPeter Seebach <seebs@eee12.(none)>2010-03-29 17:58:46 -0500
commitfa580977cc4fa8b58a47c483c1a59df66645a120 (patch)
tree42e77c1592e7fa56af0df2d2b86f398a24e119ee /guts/README
parent2b57c61b7eeb203cfcda848cc93113ec39a639cc (diff)
downloadpseudo-fa580977cc4fa8b58a47c483c1a59df66645a120.tar.gz
pseudo-fa580977cc4fa8b58a47c483c1a59df66645a120.tar.bz2
pseudo-fa580977cc4fa8b58a47c483c1a59df66645a120.zip
Add password/group call emulation.
This is a first pass at handling password/group calls, allowing the use of custom password/group files. In particular, when chroot()ed to a particular directory, pseudo picks files in that directory by default, to improve support for the typical use case where pseudo uses chroot() only to jump into a virtual target filesystem.
Diffstat (limited to 'guts/README')
-rw-r--r--guts/README31
1 files changed, 31 insertions, 0 deletions
diff --git a/guts/README b/guts/README
index e933349..a1030c6 100644
--- a/guts/README
+++ b/guts/README
@@ -157,3 +157,34 @@ dummied them out:
renameat
tempnam
tmpnam
+
+The following functions are partially emulated in order to provide for
+emulation of various getpw*() and getgr*() functions. No handling is
+provided for putpw*() or putgr*(). Nearly everything is ultimately
+implemented in terms of fgetpwent_r() and fgetgrent_r(), which are
+GNU extensions corresponding to fgetpwent() and fgetgrent(), allowing
+pseudo to read password information from an arbitrary stream; the
+setpwent() and setgrent() functions are modified to pick /etc/* from
+the pseudo_chroot path, if one is set, or from PSEUDO_PASSWD, if that
+is set, or else the system /etc/* files.
+
+ endgrent
+ endpwent
+ getgrent
+ getgrent_r
+ getgrgid
+ getgrgid_r
+ getgrnam
+ getgrnam_r
+ getgrouplist
+ getgroups
+ getpw
+ getpwent
+ getpwent_r
+ getpwnam
+ getpwnam_r
+ getpwuid
+ getpwuid_r
+ setgrent
+ setgroups
+ setpwent