From ea4dbd31e868a706eebafe2f092770932a40004c Mon Sep 17 00:00:00 2001 From: Dave Page Date: Mon, 20 May 2019 13:53:08 +0100 Subject: [PATCH] Don't try to set permissions on Windows. It won't work anyway. Fixes #4276 --- web/pgadmin/__init__.py | 3 ++- web/pgadmin/setup/data_directory.py | 16 +++++++++------- web/setup.py | 3 ++- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/web/pgadmin/__init__.py b/web/pgadmin/__init__.py index 6c538f67b..9a78e8987 100644 --- a/web/pgadmin/__init__.py +++ b/web/pgadmin/__init__.py @@ -338,7 +338,8 @@ def create_app(app_name=None): set_version(CURRENT_SCHEMA_VERSION) db.session.commit() - os.chmod(config.SQLITE_PATH, 0o600) + if os.name != 'nt': + os.chmod(config.SQLITE_PATH, 0o600) Mail(app) diff --git a/web/pgadmin/setup/data_directory.py b/web/pgadmin/setup/data_directory.py index 300dc7847..528bf6443 100644 --- a/web/pgadmin/setup/data_directory.py +++ b/web/pgadmin/setup/data_directory.py @@ -25,19 +25,21 @@ def create_app_data_directory(config): # Try to set the permissions on the direectory, but don't complain # if we can't. This may be the case on a mounted directory, e.g. in # OpenShift. We'll still secure the config database anyway. - try: - os.chmod(os.path.dirname(config.SQLITE_PATH), 0o700) - except Exception as e: - # The flask app isn't setup yet, so we can't use the logger - print('WARNING: Failed to set ACL on the directory containing the ' - 'configuration database: {}'.format(e)) + if os.name != 'nt': + try: + os.chmod(os.path.dirname(config.SQLITE_PATH), 0o700) + except Exception as e: + # The flask app isn't setup yet, so we can't use the logger + print('WARNING: Failed to set ACL on the directory containing the ' + 'configuration database: {}'.format(e)) # Create the directory containing the log file (if not present). _create_directory_if_not_exists(os.path.dirname(config.LOG_FILE)) # Create the session directory (if not present). _create_directory_if_not_exists(config.SESSION_DB_PATH) - os.chmod(os.path.dirname(config.SESSION_DB_PATH), 0o700) + if os.name != 'nt': + os.chmod(os.path.dirname(config.SESSION_DB_PATH), 0o700) # Create the storage directory (if not present). _create_directory_if_not_exists(config.STORAGE_DIR) diff --git a/web/setup.py b/web/setup.py index c9890aa3e..d725bbdf9 100644 --- a/web/setup.py +++ b/web/setup.py @@ -369,7 +369,8 @@ def setup_db(): version.value = CURRENT_SCHEMA_VERSION db.session.commit() - os.chmod(config.SQLITE_PATH, 0o600) + if os.name != 'nt': + os.chmod(config.SQLITE_PATH, 0o600) if __name__ == '__main__':