mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-02-05 09:40:32 +00:00
PermissionIssueTracker is obsoleted by ShebangIssueTracker
ShebangIssueTracker implements the rule that scripts must be executable if and only if they have a shebang line. By removing PermissionIssueTracker, we now allow files with any extension to be executable (provided they have a shebang line), and allow *.sh and *.pl to be non-executable modules if they don't have a shebang line (as was already the case for *.py). Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
parent
f5d2d1c7cd
commit
f1517e690a
@ -162,24 +162,6 @@ def is_windows_file(filepath):
|
|||||||
return ext in ('.bat', '.dsp', '.dsw', '.sln', '.vcxproj')
|
return ext in ('.bat', '.dsp', '.dsw', '.sln', '.vcxproj')
|
||||||
|
|
||||||
|
|
||||||
class PermissionIssueTracker(FileIssueTracker):
|
|
||||||
"""Track files with bad permissions.
|
|
||||||
|
|
||||||
Files that are not executable scripts must not be executable."""
|
|
||||||
|
|
||||||
heading = "Incorrect permissions:"
|
|
||||||
|
|
||||||
# .py files can be either full scripts or modules, so they may or may
|
|
||||||
# not be executable.
|
|
||||||
suffix_exemptions = frozenset({".py"})
|
|
||||||
|
|
||||||
def check_file_for_issue(self, filepath):
|
|
||||||
is_executable = os.access(filepath, os.X_OK)
|
|
||||||
should_be_executable = filepath.endswith((".sh", ".pl"))
|
|
||||||
if is_executable != should_be_executable:
|
|
||||||
self.files_with_issues[filepath] = None
|
|
||||||
|
|
||||||
|
|
||||||
class ShebangIssueTracker(FileIssueTracker):
|
class ShebangIssueTracker(FileIssueTracker):
|
||||||
"""Track files with a bad, missing or extraneous shebang line.
|
"""Track files with a bad, missing or extraneous shebang line.
|
||||||
|
|
||||||
@ -386,7 +368,6 @@ class IntegrityChecker:
|
|||||||
self.logger = None
|
self.logger = None
|
||||||
self.setup_logger(log_file)
|
self.setup_logger(log_file)
|
||||||
self.issues_to_check = [
|
self.issues_to_check = [
|
||||||
PermissionIssueTracker(),
|
|
||||||
ShebangIssueTracker(),
|
ShebangIssueTracker(),
|
||||||
EndOfFileNewlineIssueTracker(),
|
EndOfFileNewlineIssueTracker(),
|
||||||
Utf8BomIssueTracker(),
|
Utf8BomIssueTracker(),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user