PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/znc.py |
""" znc - An advanced IRC bouncer .. versionadded:: 2014.7.0 Provides an interface to basic ZNC functionality """ import hashlib import logging import os.path import random import signal import salt.utils.path log = logging.getLogger(__name__) def __virtual__(): """ Only load the module if znc is installed """ if salt.utils.path.which("znc"): return "znc" return (False, "Module znc: znc binary not found") def _makepass(password, hasher="sha256"): """ Create a znc compatible hashed password """ # Setup the hasher if hasher == "sha256": h = hashlib.sha256(password) elif hasher == "md5": h = hashlib.md5(password) else: return NotImplemented c = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!?.,:;/*-+_()" r = { "Method": h.name, "Salt": "".join(random.SystemRandom().choice(c) for x in range(20)), } # Salt the password hash h.update(r["Salt"]) r["Hash"] = h.hexdigest() return r def buildmod(*modules): """ Build module using znc-buildmod CLI Example: .. code-block:: bash salt '*' znc.buildmod module.cpp [...] """ # Check if module files are missing missing = [module for module in modules if not os.path.exists(module)] if missing: return "Error: The file ({}) does not exist.".format(", ".join(missing)) cmd = ["znc-buildmod"] cmd.extend(modules) out = __salt__["cmd.run"](cmd, python_shell=False).splitlines() return out[-1] def dumpconf(): """ Write the active configuration state to config file CLI Example: .. code-block:: bash salt '*' znc.dumpconf """ return __salt__["ps.pkill"]("znc", signal=signal.SIGUSR1) def rehashconf(): """ Rehash the active configuration state from config file CLI Example: .. code-block:: bash salt '*' znc.rehashconf """ return __salt__["ps.pkill"]("znc", signal=signal.SIGHUP) def version(): """ Return server version from znc --version CLI Example: .. code-block:: bash salt '*' znc.version """ cmd = ["znc", "--version"] out = __salt__["cmd.run"](cmd, python_shell=False).splitlines() ret = out[0].split(" - ") return ret[0]