X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=caf.pod;h=1308700f58b6a96dd6e08bcc67fbd569eaac99e0;hb=850b51b3ddfd5c5302cb901ac91e5b9d3cbd81ed;hp=7fefd16cac78f97f3f64e78b2777fd4be41c498f;hpb=0cc7c93091dc8700032bf5eef81120d46633d65f;p=cgi-auth-flexible.git diff --git a/caf.pod b/caf.pod index 7fefd16..1308700 100644 --- a/caf.pod +++ b/caf.pod @@ -999,7 +999,11 @@ can be written directly to the named file: there is no need to write to a temporary file and rename. The default implementation is the module function -C. It searches the item and its parent +C. + +It skips directories for which C returns true. + +It then searches the item and its parent directories for a vcs metadata directory (one of the names in C); if found, it calls the C hook (after checking and updaeing C<%dirsdone>). @@ -1055,16 +1059,61 @@ of C. The default value is C<['*~','*.bak','*.tmp','#*#']>. Entries must not contain C<'> or C<\>. +=item C -xxx conditions on listitems implied by srcdump_dirscan_prepare -xxx listitems enoent behaviour -The de +Returns an array of directories which might contain source code of the +web application and which should be therefore be considered for +including in the source code delivery. -xxx syntax of srcdump_excludes +Used by the default implementation of C. +Entries must be directories, plain files, or nonexistent; they may +also be symlinks which resolve to one of those. -=back +If C<.> is included it may be treated specially - see +C. + +The default implementation returns +C<(@INC, $ENV{'SCRIPT_FILENAME'}, $0)>. + +=item C + +Determines whether C<$dir> is a "system directory", in which any +source code used by the application should nevertheless not be +included in the source code dump. + +Used by the default implementation of C. + +The default implementation is as follows: Things in C are +system directories. Things in C are too, unless they are in +C or C. + +=item C +Boolean which controls the handling of C<.> if it appears in the +return value from C. Used only by the default +implementation of C. + +If set to false, C<.> is treated normally and no special action is +taken. + +However often the current directory may be C, or a data directory, +or some other directory containing data which is confidential, or +should not be included in the public source code distribution for +other reasons. And for historical reasons Perl has C<@INC> containing +C<.> by default (which is arguably dangerous and wrong). + +So the default this setting is true, which has the following effects: + +C<.> is not searched for source code even if it appears in C<@INC>. +C<.> is removed from C<@INC> and C<%INC> is checked to see if any +modules appear to have already been loaded by virtue of C<.> appearing +in C<@INC> and if they have it is treated as a fatal error. + +Only the literal string C<.> is affected. If the cwd is included by +any other name it is not treated specially regardless of this setting. + +=back =head1 DATABASE TABLES