mirror of
https://github.com/certbot/certbot.git
synced 2026-07-28 08:05:31 +02:00
[Windows] Security model for files permissions - STEP 3a (#6964)
This PR implements the filesystem.chmod method from #6497. * Implement filesystem.chmod * Conditionally add pywin32 on setuptools versions that support environment markers. * Update apache plugin requirements * Use a try/except import approach similar to lock * Add comments about well-known SIDs * Add main command * Call filesystem.chmod in tests, remove one test * Add test for os module * Update environment marker * Ensure we are not building wheels using an old version of setuptools * Added a link to list of NTFS rights * Simplify sid comparison * Enable coverage * Sometimes, double-quote is the solution * Add entrypoint * Add unit tests to filesystem * Resolve recursively the link, add doc * Move imports to the top of the file * Remove string conversion of the ACL, fix setup * Ensure admins have all permissions * Simplify dacl comparison * Conditionally raise for windows temporary workaround * Add a test to check filesystem.chown is protected against symlink loops
This commit is contained in:
committed by
Brad Warren
parent
5078b58de9
commit
e9bcaaa576
@@ -3,7 +3,8 @@ import os
|
||||
import re
|
||||
import sys
|
||||
|
||||
from setuptools import find_packages, setup
|
||||
from distutils.version import StrictVersion
|
||||
from setuptools import find_packages, setup, __version__ as setuptools_version
|
||||
from setuptools.command.test import test as TestCommand
|
||||
|
||||
# Workaround for http://bugs.python.org/issue8876, see
|
||||
@@ -52,6 +53,17 @@ install_requires = [
|
||||
'zope.interface',
|
||||
]
|
||||
|
||||
# Add pywin32 on Windows platforms to handle low-level system calls.
|
||||
# This dependency needs to be added using environment markers to avoid its installation on Linux.
|
||||
# However environment markers are supported only with setuptools >= 36.2.
|
||||
# So this dependency is not added for old Linux distributions with old setuptools,
|
||||
# in order to allow these systems to build certbot from sources.
|
||||
if StrictVersion(setuptools_version) >= StrictVersion('36.2'):
|
||||
install_requires.append("pywin32 ; sys_platform == 'win32'")
|
||||
elif 'bdist_wheel' in sys.argv[1:]:
|
||||
raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
|
||||
'of setuptools. Version 36.2+ of setuptools is required.')
|
||||
|
||||
dev_extras = [
|
||||
'astroid==1.6.5',
|
||||
'coverage',
|
||||
|
||||
Reference in New Issue
Block a user