diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1998-09-25 07:13:13 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1998-09-25 07:13:13 +0000 |
commit | 5ff3f7a4e03a6b103d9e628865398e498e9a7968 (patch) | |
tree | 5884f57bd4a3baf1ad76e8ab3f81f12aa71a31da /pod | |
parent | 46124e9ee58ad41479e5b089638f6c263bbddcb7 (diff) | |
download | perl-5ff3f7a4e03a6b103d9e628865398e498e9a7968.tar.gz |
big Configure update from Jarkko: sync metaconfig units; d_statblks fix
for Linux; hpux CMA-threads hints; ELF support for FreeBSD; beginnings
of full-fledged 64-bit support (including support for: fseeko/ftello,
Quad_t aka long long, hpux and irix 64-bits hints, new 64-bit constants
in Fcntl)
From: Jarkko Hietaniemi <jhi@iki.fi>
Date: Fri, 11 Sep 1998 23:56:11 +0300 (EET DST)
Message-Id: <199809112056.XAA04720@alpha.hut.fi>
Subject: [PATCH] 5.005_51: Configure "Massive Attack"
--
From: Jarkko Hietaniemi <jhi@cc.hut.fi>
Date: 12 Sep 1998 09:44:25 +0300
Message-ID: <oeeaf45bzjq.fsf@alpha.hut.fi>
Subject: Re: [PATCH] 5.005_51: Configure "Massive Attack"
p4raw-id: //depot/perl@1889
Diffstat (limited to 'pod')
-rw-r--r-- | pod/perldiag.pod | 15 | ||||
-rw-r--r-- | pod/perlfunc.pod | 39 |
2 files changed, 43 insertions, 11 deletions
diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 0e37c4dfff..37bcf1a750 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -1096,6 +1096,16 @@ unlikely to be what you want. (F) An untrapped exception was raised while executing an END subroutine. The interpreter is immediately exited. +=item effective %s access is not implemented + +(F) We cannot switch the real and effective uids or gids. +The C<filetest access> pragma is unavailable in this system. + +=item entering effective %s access failed + +(F) While under the C<filetest access> pragma, switching the real and +effective uids or gids failed. + =item Error converting file specification %s (F) An error peculiar to VMS. Because Perl may have to deal with file @@ -1476,6 +1486,11 @@ L<perlfunc/last>. that name, not even if you count where you were called from. See L<perlfunc/last>. +=item leaving effective %s access failed + +(F) While under the C<filetest access> pragma, switching the real and +effective uids or gids failed. + =item listen() on closed fd (W) You tried to do a listen on a closed socket. Did you forget to check diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod index 07cea8c78e..92a9532289 100644 --- a/pod/perlfunc.pod +++ b/pod/perlfunc.pod @@ -129,8 +129,9 @@ C<pack>, C<read>, C<syscall>, C<sysread>, C<syswrite>, C<unpack>, C<vec> =item Functions for filehandles, files, or directories C<-I<X>>, C<chdir>, C<chmod>, C<chown>, C<chroot>, C<fcntl>, C<glob>, -C<ioctl>, C<link>, C<lstat>, C<mkdir>, C<open>, C<opendir>, C<readlink>, -C<rename>, C<rmdir>, C<stat>, C<symlink>, C<umask>, C<unlink>, C<utime> +C<ioctl>, C<link>, C<lstat>, C<mkdir>, C<open>, C<opendir>, +C<readlink>, C<rename>, C<rmdir>, C<stat>, C<symlink>, C<umask>, +C<unlink>, C<utime> =item Keywords related to the control flow of your perl program @@ -262,15 +263,6 @@ X<-S>X<-b>X<-c>X<-t>X<-u>X<-g>X<-k>X<-T>X<-B>X<-M>X<-A>X<-C> -A Same for access time. -C Same for inode change time. -The interpretation of the file permission operators C<-r>, C<-R>, C<-w>, -C<-W>, C<-x>, and C<-X> is based solely on the mode of the file and the -uids and gids of the user. There may be other reasons you can't actually -read, write, or execute the file, such as AFS access control lists. Also note that, for the superuser, -C<-r>, C<-R>, C<-w>, and C<-W> always return C<1>, and C<-x> and C<-X> return -C<1> if any execute bit is set in the mode. Scripts run by the superuser may -thus need to do a C<stat()> to determine the actual mode of the -file, or temporarily set the uid to something else. - Example: while (<>) { @@ -279,6 +271,31 @@ Example: #... } +The interpretation of the file permission operators C<-r>, C<-R>, +C<-w>, C<-W>, C<-x>, and C<-X> is by default based solely on the mode +of the file and the uids and gids of the user. There may be other +reasons you can't actually read, write, or execute the file. Such +reasons may be for example network filesystem access controls, ACLs +(access control lists), read-only filesystems, and unrecognized +executable formats. + +Also note that, for the superuser on the local filesystems, C<-r>, +C<-R>, C<-w>, and C<-W> always return 1, and C<-x> and C<-X> return 1 +if any execute bit is set in the mode. Scripts run by the superuser +may thus need to do a stat() to determine the actual mode of the file, +or temporarily set the uid to something else. + +If you are using ACLs, there is a pragma called C<filetest> that may +produce more accurate results than the bare stat() mode bits. + +When under the C<use filetest 'access'> the above-mentioned filetests +will test whether the permission can (not) be granted using the +access() family of system calls. Also note that the -x and -X may +under this pragma return true even if there are no execute permission +bits set (nor any extra execute permission ACLs). This strangeness is +due to the underlying system calls' definitions. Read the +documentation for the C<filetest> pragma for more information. + Note that C<-s/a/b/> does not do a negated substitution. Saying C<-exp($foo)> still works as expected, however--only single letters following a minus are interpreted as file tests. |