HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/beacons/__pycache__/journald.cpython-310.pyc
o

�N�g�
�@svdZddlZddlZddlZzddlZdZWney!dZYnwe�	e
�ZdZdd�Z
dd	�Zd
d�Zdd
�ZdS)z8
A simple beacon to watch journald for specific entries
�NTFZjournaldcCs"trtSd}t�dt|�d|fS)Nzsystemd library is missing.zUnable to load %s beacon: %sF)�HAS_SYSTEMD�__virtualname__�log�error)�err_msg�r�I/opt/saltstack/salt/lib/python3.10/site-packages/salt/beacons/journald.py�__virtual__s
r	cCs>dtvrtdStj��td<td��td��tdS)z2
    Return the active running journal object
    zsystemd.journald)�__context__�systemd�journal�ReaderZ	seek_tailZget_previousrrrr�_get_journalsrcCsJt|t�sdStjj�|�}|�di�D]}t|d|t�s"dSqdS)z+
    Validate the beacon configuration
    )Fz1Configuration for journald beacon must be a list.�services)FzJServices configuration for journald beacon must be a list of dictionaries.)TzValid beacon configuration)�
isinstance�list�salt�utils�beacons�list_to_dict�get�dict)�config�namerrr�validate,s
�rcCs�g}t�}tjj�|�}	|��}|s	|S|�di�D]J}d}|d|D]"}t|t�r4tjj	�
|�}||vrH|d||||krH|d7}q&|t|d|�krftjj	�|�}|�
d|i�|�|�qq
)am
    The journald beacon allows for the systemd journal to be parsed and linked
    objects to be turned into events.

    This beacons config will return all sshd jornal entries

    .. code-block:: yaml

        beacons:
          journald:
            - services:
                sshd:
                  SYSLOG_IDENTIFIER: sshd
                  PRIORITY: 6
    Trr��tag)rrrrrZget_nextrr�str�data�decode�lenZsimple_types_filter�update�append)r�retrZcurrZn_flag�key�subrrr�beacon@s.�
�
��r&)�__doc__�loggingZsalt.utils.beaconsrZsalt.utils.dataZsystemd.journalrr�ImportError�	getLogger�__name__rrr	rrr&rrrr�<module>s �