Returns a session key for the given minion id.
(self, minion)
| 3105 | return SMaster.secrets["aes"]["secret"].value |
| 3106 | |
| 3107 | def session_key(self, minion): |
| 3108 | """ |
| 3109 | Returns a session key for the given minion id. |
| 3110 | """ |
| 3111 | now = time.time() |
| 3112 | if minion in self.sessions: |
| 3113 | if now - self.sessions[minion][0] < self.opts["publish_session"]: |
| 3114 | return self.sessions[minion][1] |
| 3115 | |
| 3116 | path = pathlib.Path(self.opts["cachedir"]) / "sessions" / minion |
| 3117 | try: |
| 3118 | if now - path.stat().st_mtime > self.opts["publish_session"]: |
| 3119 | salt.crypt.Crypticle.write_key(path) |
| 3120 | except FileNotFoundError: |
| 3121 | salt.crypt.Crypticle.write_key(path) |
| 3122 | |
| 3123 | self.sessions[minion] = ( |
| 3124 | path.stat().st_mtime, |
| 3125 | salt.crypt.Crypticle.read_key(path), |
| 3126 | ) |
| 3127 | return self.sessions[minion][1] |
| 3128 | |
| 3129 | @classmethod |
| 3130 | def compare_keys(cls, key1, key2): |