certbot/certbot-apache
Adrien Ferrand 71ff47daad Implement a consistent realpath function in certbot.compat.filesystem (#7242)
Fixes #7115 

This PR creates a `realpath` method in `filesystem`, whose goal is to replace any call to `os.path.realpath` in Certbot. The reason is that `os.path.realpath` is broken on some versions of Python for Windows. See https://bugs.python.org/issue9949. The function created here works consistently across Linux and Windows.

As for the other forbidden functions in `os` module, our `certbot.compat.os` will raise an exception if its `path.realpath` function is invoked, and using the `os` module from Python is forbidden from the pylint check implemented in our CI.

Every call to `os.path.realpath` is corrected in `certbot` and `certbot-apache` modules.

* Forbid os.path.realpath

* Finish implementation

* Use filesystem.realpath

* Control symlink loops also for Linux

* Add a test for forbidden method

* Import a new object from os.path module

* Use same approach of wrapping than certbot.compat.os

* Correct errors

* Fix dependencies

* Make path module internal
2019-07-18 14:31:39 -07:00
..
certbot_apache Implement a consistent realpath function in certbot.compat.filesystem (#7242) 2019-07-18 14:31:39 -07:00
docs [Windows] Security model for files permissions - STEP 2 (#6895) 2019-04-12 13:32:51 -07:00
LICENSE.txt s/letsencrypt/certbot letsencrypt-apache 2016-04-13 16:30:57 -07:00
local-oldest-requirements.txt Implement a consistent realpath function in certbot.compat.filesystem (#7242) 2019-07-18 14:31:39 -07:00
MANIFEST.in s/letsencrypt/certbot letsencrypt-apache 2016-04-13 16:30:57 -07:00
README.rst s/Let's Encrypt/Certbot certbot-apache 2016-04-13 16:36:53 -07:00
readthedocs.org.requirements.txt s/letsencrypt/certbot letsencrypt-apache 2016-04-13 16:30:57 -07:00
setup.cfg Tell the world we're Python 3 compatible (#4568) 2017-04-28 16:06:45 -07:00
setup.py Implement a consistent realpath function in certbot.compat.filesystem (#7242) 2019-07-18 14:31:39 -07:00

Apache plugin for Certbot