File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/__pycache__/master.cpython-310.pyc
o
�N�gq � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Zddl!Zddl"Zddl#Zddl$Zddl%Zddl&Zddl'Zddl(Zddl)Zddl*Zddl+Zddl,Zddl-Zddl.Zddl/Zddl0Zddl1Zddl2Zddl3Zddl4m5Z5 ddl6m7Z7 ddl8m9Z9 ddl:m;Z; ddl<m=Z= ddl>m?Z? dd l@mAZAmBZBmCZC dd
l#mDZD ddlEmFZF ddl2mGZGmHZH zddlIZId
ZJW n eK�y dZJY nw e�LeM�ZNG dd� d�ZOG dd� dejPjQjR�ZSG dd� dejPjQjR�ZTG dd� deO�ZUG dd� dejPjQjR�ZVG dd� dejPjQjR�ZWG dd� d�ZXG dd� deX�ZYG dd � d eX�ZZdS )!z�
This module contains all of the routines needed to set up a master server, this
involves preparing the three listeners and the workers needed by the master.
� N)�DEFAULT_INTERVAL)�DEFAULT_TARGET_DELIM)�StackContext)�
TRANSPORTS)�iter_transport_opts)�RequestContext)�enable_sigusr1_handler�enable_sigusr2_handler�
inspect_stack)�tagify)�OrderedDict)�ZMQ_VERSION_INFO�zmqTFc s\ e Zd ZdZi Zdd� Z� fdd�Z� fdd�Zdd � Ze ddd��Z
e ddd��Z� ZS )�SMasterzN
Create a simple salt-master, this will generate the top-level master
c C s$ || _ tj�| j �| _| �� | _dS )zm
Create a salt master server instance
:param dict opts: The salt options dictionary
N)�opts�salt�cryptZ
MasterKeys�
master_key�_SMaster__prep_key�key��selfr � r �?/opt/saltstack/salt/lib/python3.10/site-packages/salt/master.py�__init__\ s zSMaster.__init__c s. t � �|� |d | _|d | _|d t_d S )Nr r �secrets)�super�__setstate__r r r r �r �state�� __class__r r r k s
zSMaster.__setstate__c s&