Linux newlinux5.pouyasazan.org 3.10.0-962.3.2.lve1.5.60.el7.x86_64 #1 SMP Fri Jul 23 07:07:00 EDT 2021 x86_64
LiteSpeed
Server IP : 88.99.66.243 & Your IP : 216.73.216.178
Domains :
Cant Read [ /etc/named.conf ]
User : wdbbsgxf
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
lib /
python2.7 /
site-packages /
certbot /
plugins /
Delete
Unzip
Name
Size
Permission
Date
Action
__init__.py
23
B
-rw-r--r--
2021-01-05 21:07
__init__.pyc
186
B
-rw-r--r--
2021-10-08 10:38
__init__.pyo
186
B
-rw-r--r--
2021-10-08 10:38
common.py
14.12
KB
-rw-r--r--
2021-01-05 21:07
common.pyc
17.05
KB
-rw-r--r--
2021-10-08 10:38
common.pyo
17.05
KB
-rw-r--r--
2021-10-08 10:38
dns_common.py
11.68
KB
-rw-r--r--
2021-01-05 21:07
dns_common.pyc
13.77
KB
-rw-r--r--
2021-10-08 10:38
dns_common.pyo
13.77
KB
-rw-r--r--
2021-10-08 10:38
dns_common_lexicon.py
5.48
KB
-rw-r--r--
2021-01-05 21:07
dns_common_lexicon.pyc
5.58
KB
-rw-r--r--
2021-10-08 10:38
dns_common_lexicon.pyo
5.58
KB
-rw-r--r--
2021-10-08 10:38
dns_test_common.py
1.71
KB
-rw-r--r--
2021-01-05 21:07
dns_test_common.pyc
2.88
KB
-rw-r--r--
2021-10-08 10:38
dns_test_common.pyo
2.88
KB
-rw-r--r--
2021-10-08 10:38
dns_test_common_lexicon.py
5.6
KB
-rw-r--r--
2021-01-05 21:07
dns_test_common_lexicon.pyc
6.75
KB
-rw-r--r--
2021-10-08 10:38
dns_test_common_lexicon.pyo
6.75
KB
-rw-r--r--
2021-10-08 10:38
enhancements.py
5.95
KB
-rw-r--r--
2021-01-05 21:07
enhancements.pyc
6.79
KB
-rw-r--r--
2021-10-08 10:38
enhancements.pyo
6.79
KB
-rw-r--r--
2021-10-08 10:38
storage.py
4.1
KB
-rw-r--r--
2021-01-05 21:07
storage.pyc
4.57
KB
-rw-r--r--
2021-10-08 10:38
storage.pyo
4.57
KB
-rw-r--r--
2021-10-08 10:38
util.py
1.69
KB
-rw-r--r--
2021-01-05 21:07
util.pyc
2.08
KB
-rw-r--r--
2021-10-08 10:38
util.pyo
2.08
KB
-rw-r--r--
2021-10-08 10:38
Save
Rename
"""Plugin storage class.""" import json import logging from acme.magic_typing import Any from acme.magic_typing import Dict from certbot import errors from certbot.compat import filesystem from certbot.compat import os logger = logging.getLogger(__name__) class PluginStorage(object): """Class implementing storage functionality for plugins""" def __init__(self, config, classkey): """Initializes PluginStorage object storing required configuration options. :param .configuration.NamespaceConfig config: Configuration object :param str classkey: class name to use as root key in storage file """ self._config = config self._classkey = classkey self._initialized = False self._data = None self._storagepath = None def _initialize_storage(self): """Initializes PluginStorage data and reads current state from the disk if the storage json exists.""" self._storagepath = os.path.join(self._config.config_dir, ".pluginstorage.json") self._load() self._initialized = True def _load(self): """Reads PluginStorage content from the disk to a dict structure :raises .errors.PluginStorageError: when unable to open or read the file """ data = {} # type: Dict[str, Any] filedata = "" try: with open(self._storagepath, 'r') as fh: filedata = fh.read() except IOError as e: errmsg = "Could not read PluginStorage data file: {0} : {1}".format( self._storagepath, str(e)) if os.path.isfile(self._storagepath): # Only error out if file exists, but cannot be read logger.error(errmsg) raise errors.PluginStorageError(errmsg) try: data = json.loads(filedata) except ValueError: if not filedata: logger.debug("Plugin storage file %s was empty, no values loaded", self._storagepath) else: errmsg = "PluginStorage file {0} is corrupted.".format( self._storagepath) logger.error(errmsg) raise errors.PluginStorageError(errmsg) self._data = data def save(self): """Saves PluginStorage content to disk :raises .errors.PluginStorageError: when unable to serialize the data or write it to the filesystem """ if not self._initialized: errmsg = "Unable to save, no values have been added to PluginStorage." logger.error(errmsg) raise errors.PluginStorageError(errmsg) try: serialized = json.dumps(self._data) except TypeError as e: errmsg = "Could not serialize PluginStorage data: {0}".format( str(e)) logger.error(errmsg) raise errors.PluginStorageError(errmsg) try: with os.fdopen(filesystem.open( self._storagepath, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o600), 'w') as fh: fh.write(serialized) except IOError as e: errmsg = "Could not write PluginStorage data to file {0} : {1}".format( self._storagepath, str(e)) logger.error(errmsg) raise errors.PluginStorageError(errmsg) def put(self, key, value): """Put configuration value to PluginStorage :param str key: Key to store the value to :param value: Data to store """ if not self._initialized: self._initialize_storage() if self._classkey not in self._data: self._data[self._classkey] = {} self._data[self._classkey][key] = value def fetch(self, key): """Get configuration value from PluginStorage :param str key: Key to get value from the storage :raises KeyError: If the key doesn't exist in the storage """ if not self._initialized: self._initialize_storage() return self._data[self._classkey][key]