summaryrefslogtreecommitdiff
path: root/libdiskfs/dir-lookup.c
AgeCommit message (Collapse)Author
2008-08-262008-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>Samuel Thibault
* dir-lookup.c (diskfs_S_dir_lookup): Initialize NEWPI and NEWPO to 0, set back to 0 when they do not need to be referenced any more, dereference them if needed just before exit, after all unlocking.
2008-08-202008-08-20 Samuel Thibault <samuel.thibault@ens-lyon.org>Samuel Thibault
* dir-lookup.c (diskfs_S_dir_lookup): Revert 2008-06-06 change, as it breaks when np == dnp.
2008-07-01Update copyright years.Thomas Schwinge
2008-06-092008-06-06 Samuel Thibault <samuel.thibault@ens-lyon.org>Samuel Thibault
* dir-lookup.c (diskfs_S_dir_lookup): Unlock np in case of errors.
2002-05-132002-05-12 Roland McGrath <roland@frob.com>Roland McGrath
* dir-lookup.c (diskfs_S_dir_lookup): Fail with EACCES instead of EOPNOTSUPP when attempting to open a special file for io or exec.
2002-05-082002-05-08 Roland McGrath <roland@frob.com>Roland McGrath
* dir-lookup.c (diskfs_S_dir_lookup): int -> size_t * dir-readdir.c (diskfs_S_dir_readdir): Likewise. * file-get-trans.c (diskfs_S_file_get_translator): Likewise. * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
2002-03-262002-03-25 Neal H Walfield <neal@cs.uml.edu>Neal H. Walfield
* peropen-make.c (diskfs_make_peropen): Instead of returning the peropen, return as error_t and return the peropen in the new parameter *PPO. * diskfs.h (diskfs_make_peropen): Change declaration to reflect new semantics. * boot-start.c (diskfs_start_bootstrap): Check the return value of diskfs_make_peropen using the new semantics. (diskfs_S_exec_startup_get_info): Likewise. (diskfs_execboot_fsys_startup): Likewise. (diskfs_S_fsys_init): Likewise. * dir-lookup.c (diskfs_S_dir_lookup): Likewise. * dir-mkfile.c (diskfs_S_dir_mkfile): Likewise. * file-exec.c (diskfs_S_file_exec): Likewise. * file-reparent.c (diskfs_S_file_reparent): Likewise. * fsys-getfile.c (diskfs_S_fsys_getfile): Likewise. * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise. * trans-callback.c (_diskfs_translator_callback2_fn): Likewise. * init-startup.c (diskfs_startup_diskfs): Likewise.
2002-01-042002-01-03 Roland McGrath <roland@frob.com>Roland McGrath
* dir-lookup.c (diskfs_S_dir_lookup): Clear S_ITRANS bits in MODE. * dir-mkdir.c (diskfs_S_dir_mkdir): Likewise. * dir-mkfile.c (diskfs_S_dir_mkfile): Likewise.
2001-12-082001-12-08 Roland McGrath <roland@frob.com>Roland McGrath
* dir-lookup.c (diskfs_S_dir_lookup): Append trailing / to RETRYNAME returned for absolute symlink when MUSTBEDIR is set. Reported by Moritz Schulte <moritz@duesseldorf.ccc.de>. Also, bcopy -> memcpy; avoid strcat.
2001-10-292001-10-30 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* dir-lookup.c (diskfs_S_dir_lookup): When looking up the next pathname component, remove assertion for DS and allocate DS if 0. Allow creation of files through symlink with non-existant target. From Roland McGrath <roland@frob.com>.
2001-08-022001-06-19 Roland McGrath <roland@frob.com>Roland McGrath
* dir-lookup.c (diskfs_S_dir_lookup): Handle symlinks to "".
2001-06-162001-04-01 Neal H Walfield <neal@cs.uml.edu>Roland McGrath
* dir-lookup.c (diskfs_S_dir_lookup): Use iohelp_create_empty_iouser. * fsys-getfile.c (diskfs_S_fsys_getfile): Use iohelp_create_complex_iouser. * io-reauthenticate.c (diskfs_S_io_reauthenticate): Use new iohelp_reauth semantics. * io-restrict-auth.c (diskfs_S_io_restrict_auth): Use new iohelp_create_iouser semantics. * protid-make.c (diskfs_finish_protid): Use iohelp_create_simple_iouser and new iohelp_dup_iouse semantics. * trans-callback.c (_diskfs_translator_callback2_fn): Use iohelp_create_simple_iouser.
2001-03-282001-03-28 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* dir-lookup.c (diskfs_S_dir_lookup): New variable USER. Store new iouser in that variable and free it after creating the protid for DIRPORT. * trans-callback.c (_diskfs_translator_callback2_fn): Likewise. * io-restrict-auth.c (diskfs_S_io_restrict_auth): Likewise. * io-reauthenticate.c (diskfs_S_io_reauthenticate): Likewise.
2000-03-172000-03-17 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* dir-lookup.c (diskfs_S_dir_lookup): Use ports_get_send_right.
2000-01-252000-01-25 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* dir-lookup.c (diskfs_S_dir_lookup): Follow symlink despite flags if MUSTBEDIR is set (i.e. there was a trailing slash).
1999-01-241999-01-22 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* file-set-trans.c: Remove makedev, major, minor macro definitions. * dir-lookup.c: Likewise.
1998-10-241998-04-04 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* dir-lookup.c (diskfs_S_dir_lookup): Treat a shadow_root with null shadow_root_parent as a "virtual root".
1998-07-201998-07-20 Roland McGrath <roland@baalperazim.frob.com>Roland McGrath
* dir-lookup.c (diskfs_S_dir_lookup: short_circuited_callback1): Fix type of arg `argz_len' to use size_t *.
1998-07-14Tue Jul 14 16:27:00 1998 Thomas Bushnell, n/BSG <tb@mit.edu>Thomas Bushnell
* dir-lookup.c (diskfs_S_dir_lookup): Don't require the node to be a directory in the null pathname case. (Thus reverting one of the changes of June 15, 1994.)
1997-02-21(diskfs_S_dir_lookup):Miles Bader
Allow symlinks to be opened for O_READ.
1997-02-14(diskfs_S_dir_lookup):Miles Bader
Pass a prototype peropen instead of the dotdotport and depth to diskfs_make_peropen. Use DIRCRED->po as the cookie for fshelp_fetch_root instead of a local structure. Get rid of DEPTH variable. Get rid of depth parameters to diskfs_lookup. Deal properly with EAGAIN return from diskfs_lookup. Replace references to dotdotport with root_parent. Remove O_EXLOCK & O_SHLOCK from FLAGS mask, now that they're included in O_HURD.
1997-02-06(diskfs_S_dir_lookup):Miles Bader
Add DEPTH variable. Supply DEPTH & NEW_DEPTH arguments to diskfs_lookup. Supply DEPTH argument diskfs_make_peropen. Pass new type of cookie2 to fshelp_fetch_root, as expected by _diskfs_translator_callback2.
1996-11-19(diskfs_S_dir_lookup):Miles Bader
Use S_IPTRANS bit in dn_stat st_mode field rather than istranslated field.
1996-11-18Fri Nov 15 14:06:16 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell
* protid-make.c (diskfs_finish_protid): Fix typo. * file-chown.c (diskfs_S_file_chown): Look for UID, not CRED in the uid set. * dir-lookup.c (diskfs_S_dir_lookup): Make the unauthenticated port correctly. Thu Nov 14 13:07:37 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * dir-init.c (diskfs_init_dir): New vars VEC and USER; fabricate LOOKUPCRED to correspond to new structure definitions. * io-restrict-auth.c (diskfs_S_io_restrict_auth): Declare I and add a missing semicolon. * fsys-getroot.c (diskfs_S_fsys_getroot): Eliminate PSEUDOCRED entirely. Fix unrelated typo. * file-chauthor.c (dithkfth_TH_file_chauthor): Fix first arg in call to fthhelp_ithowner. Tue Nov 12 22:45:07 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * diskfs.h: Correctly close comment.
1996-11-13Thu Nov 7 01:03:11 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>Thomas Bushnell
* protid-rele.c (diskfs_protid_rele): Free CRED->user. Wed Nov 6 17:55:17 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * diskfs.h (diskfs_isuid, diskfs_groupmember, diskfs_isowner, diskfs_access, diskfs_checkdirmod): Delete functions. * fsys-getroot.c (diskfs_S_fsys_getroot): Replace PSEUDOCRED with a real iouser and specify that in the relevant calls. * io-restrict-auth.c (diskfs_S_io_restrict_auth): Reworked to use idvecs. * file-chmod.c (diskfs_S_file_chmod): diskfs_isuid -> idvec_contains. * file-chown.c (diskfs_S_file_chown): Likewise. * file-getcontrol.c (diskfs_S_file_getcontrol): Likewise. * file-chmod.c (diskfs_S_file_chmod): diskfs_groupmember -> idvec_contains. * file-chown.c (diskfs_S_file_chown): Likewise. * node-create.c (diskfs_create_node): Likewise. * dir-lookup.c (diskfs_S_dir_lookup): diskfs_isowner -> fshelp_isowner. * file-chflags.c (diskfs_S_file_chflags): Likewise. * file-chmod.c (diskfs_S_file_chmod): Likewise. * file-chown.c (diskfs_S_file_chown): Likewise. * file-get-transcntl.c (diskfs_S_file_get_translator_cntl): Likewise. * file-set-trans.c (diskfs_S_file_set_translator): Likewise. * file-utimes.c (diskfs_S_file_utimes): Likewise. * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise. * lithp.h (dithkfth_ithowner): Deleted macro. (fthhelp_ithowner, uther): New macros. * file-chauthor.c (dithkfth_TH_file_chauthor): dthkfth_ithowner -> fthhelp_ithowner. * dir-lookup.c (diskfs_S_dir_lookup): diskfs_access -> fshelp_access. * dir-mkfile.c (diskfs_S_dir_mkfile): Likewise. * file-access.c (diskfs_S_file_check_access): Likewise. * file-exec.c (diskfs_S_file_exec): Likewise (in dead code). * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise. * ifsock.c (diskfs_S_ifsock_getsockaddr): Likewise. * lookup.c (diskfs_lookup): Likewise. (diskfs_lookup): diskfs_checkdirmod -> fshelp_checkdirmod. * dir-lookup.c (diskfs_S_dir_lookup): New arg format for fshelp_fetch_root. * fsys-getroot.c (diskfs_S_fsys_getroot): Likewise. * diskfs.h, protid-make.c (diskfs_create_protid): Delete args `uids', `gids', `nuids', and `ngids'. Replace with new arg `user'. All callers changed. (diskfs_finish_protid): Likewise. * file-inv-trans.c (diskfs_S_file_invoke_translator): Use CRED->user instead of old fields. * io-restrict-auth.c (diskfs_S_io_restrict_auth): Likewise. * node-create.c (diskfs_create_node): Likewise. * file-exec.c (diskfs_S_file_exec): Likewise. Use idvec_merge instead of idvec_merge_ids, now that it's convenient. * io-reauthenticate.c (diskfs_S_io_reauthenticate): Use new iohelp_reauthenticate. Tue Nov 5 21:10:18 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * diskfs.h: Include <idvec.h>. (struct protid): Delete members `uids', `gids', `nuids' and `ngids'. New member `user'.
1996-10-12(diskfs_S_dir_lookup):Miles Bader
Temporarily add O_EXLOCK and O_SHLOCK to the set of retained flags, until they get added to O_HURD. Turn off OPENONLY_STATE_MODES bits in the flags we pass to diskfs_make_peropen, not everything *but* them!
1996-10-11(diskfs_S_dir_lookup):Miles Bader
Free NEWPI if we get an error trying to lock it.
1996-10-10(diskfs_S_dir_lookup):Miles Bader
Frob lock in NEWPI->po, not PO. <sys/file.h>: New include.
1996-10-10*** empty log message ***Thomas Bushnell
1996-09-23<stdio.h>:Miles Bader
New include.
1996-06-24(diskfs_S_dir_lookup): Use diskfs_check_readonly instead of diskfs_readonly.Michael I. Bushnell
1996-03-20(diskfs_S_dir_lookup): Don't check cache here.Michael I. Bushnell
1996-03-19(diskfs_S_dir_lookup): Check cache before normal diskfs_lookup call.Michael I. Bushnell
1996-03-16(diskfs_S_dir_lookup): Don't leak a send right to the anonymous handle on DNPMiles Bader
when calling fetch_root.
1996-02-07(diskfs_S_dir_lookup): Revert last change.Michael I. Bushnell
1996-02-06(diskfs_S_dir_lookup): Make the new peropen we'll pass as dotdot to theMiles Bader
fetch_root with the same flags as DIRCRED->po.
1996-01-27(diskfs_S_dir_lookup): Use diskfs_create_protid instead ofMiles Bader
diskfs_make_protid, and deal with an error return.
1995-11-06(diskfs_S_dir_lookup): Fix various typos.Miles Bader
(short_circuited_callback1): Dereference ARGZ & ARGZ_LEN. Include <hurd/paths.h>
1995-11-02(diskfs_S_dir_lookup): Add new callback arg to fshelp_fetch_root call.Miles Bader
Change short_circuited_callback1 to reflect the split into two callbacks (we use the global diskfs callback for the other).
1995-10-31(diskfs_S_dir_lookup): Deal correctly with short-circuited translators thatMiles Bader
diskfs doesn't implement itself. (major, minor): New macros -- temporarily here until libc exports them.
1995-07-21(diskfs_S_dir_lookup): Free initial references created byMichael I. Bushnell
diskfs_make_protid.
1995-07-21(diskfs_S_dir_lookup): Examine the active translator on NP, not onMichael I. Bushnell
diskfs_root_node, to see if translator usage is necessary.
1995-06-22(diskfs_S_dir_lookup): Correctly parethenize O_NOTRANS flags test.Michael I. Bushnell
1995-06-19(diskfs_S_dir_lookup): Fix typos.Michael I. Bushnell
1995-06-19(diskfs_S_dir_lookup): Use new translator startup interface.Michael I. Bushnell
1995-06-09(diskfs_S_dir_lookup): Initialize GIDS, NUIDS, and NGIDS to avoidMichael I. Bushnell
warning.
1995-03-17(diskfs_S_dir_lookup): Typo.Michael I. Bushnell
1995-03-17(diskfs_S_dir_lookup): Implement diskfs_synchronous.Michael I. Bushnell
1994-09-23entered into RCSMichael I. Bushnell
1994-09-16Formerly dir-lookup.c.~8~Michael I. Bushnell