summaryrefslogtreecommitdiff
path: root/perl.c
diff options
context:
space:
mode:
authorAaron Crane <arc@cpan.org>2017-11-01 17:52:24 +0000
committerAaron Crane <arc@cpan.org>2017-11-04 12:11:42 +0000
commit83a320f0d0fe3db391dfcf22a7c7d77ab781d019 (patch)
tree3505375a39b171af474c1a9984a5b714b1b0f9cb /perl.c
parentb3ab0375cbf2dd5732e06233d36e4d80d37cf211 (diff)
downloadperl-83a320f0d0fe3db391dfcf22a7c7d77ab781d019.tar.gz
Add comment to explain why we want to probe for statfs() et al
Diffstat (limited to 'perl.c')
-rw-r--r--perl.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/perl.c b/perl.c
index 9f3898d33a..846d443589 100644
--- a/perl.c
+++ b/perl.c
@@ -3958,12 +3958,20 @@ S_open_script(pTHX_ const char *scriptname, bool dosearch, bool *suidscript)
return rsfp;
}
-/* Mention
+/* In the days of suidperl, we refused to execute a setuid script stored on
+ * a filesystem mounted nosuid and/or noexec. This meant that we probed for the
+ * existence of the appropriate filesystem-statting function, and behaved
+ * accordingly. But even though suidperl is long gone, we must still include
+ * those probes for the benefit of modules like Filesys::Df, which expect the
+ * results of those probes to be stored in %Config; see RT#126368. So mention
+ * the relevant cpp symbols here, to ensure that metaconfig will include their
+ * probes in the generated Configure:
+ *
* I_SYSSTATVFS HAS_FSTATVFS
* I_SYSMOUNT
* I_STATFS HAS_FSTATFS HAS_GETFSSTAT
* I_MNTENT HAS_GETMNTENT HAS_HASMNTOPT
- * here so that metaconfig picks them up. */
+ */
#ifdef SETUID_SCRIPTS_ARE_SECURE_NOW