
  "   ˆl–ß=¿J	µ2ÛR‚ œP-\lú˜´oÈƒm¹ÇÆ 	ü    a
    '¡Dgw	  ã                   @   sD   d dl Z d dlZd dlmZmZ e  e¡ZG dd„ dejj	j
ƒZdS )é    N)ÚsubpÚutilc                   @   sj   e Zd ZdZdgZg d¢Zddd„Zdd„ Zd	d
„ Ze	ddœe
e
dœdd„ƒZdd„ Zdd„ Zdd„ ZdS )ÚDistroz/etc/mynameZrcctl)z^{username}::z^{username}:\*:z'^{username}:\*\*\*\*\*\*\*\*\*\*\*\*\*:Nc                 C   s   t  | j¡S )N)r   Zload_text_fileÚhostname_conf_fn)ÚselfÚfilenameÚdefault© r	   ú=/usr/lib/python3.9/site-packages/cloudinit/distros/openbsd.pyÚ_read_hostname   s    zDistro._read_hostnamec                 C   s   |d }t  | j|¡ d S )NÚ
)r   Z
write_filer   )r   Úhostnamer   Zcontentr	   r	   r
   Ú_write_hostname   s    zDistro._write_hostnamec                 C   s   dd||gS )NÚusermodz-Gr	   )r   Úmember_nameZ
group_namer	   r	   r
   Ú_get_add_member_to_group_cmd"   s    z#Distro._get_add_member_to_group_cmd)Úrcs)ÚactionÚservicec             	   G   s`   | j }d|gd|gd|gd|gd|gd|gd|gd|gdœ}t|ƒt|| ƒ }tj|d|d	�S )
zŒ
        Perform the requested action on a service. This handles OpenBSD's
        'rcctl'.
        May raise ProcessExecutionError
        ÚstopÚstartÚenableÚdisableÚrestartÚcheck)r   r   r   r   r   Úreloadz
try-reloadÚstatusT)Zcapturer   )Úinit_cmdÚlistr   )Úclsr   r   r   Ú
extra_argsr   ZcmdsÚcmdr	   r	   r
   Úmanage_service%   s    ø
zDistro.manage_servicec                 C   s>   zt   ddd|g¡ W n" ty8   t td|¡ ‚ Y n0 d S )Nr   z-pÚ*zFailed to lock user %s)r   Ú	Exceptionr   ZlogexcÚLOG©r   Únamer	   r	   r
   Úlock_passwd:   s
    zDistro.lock_passwdc                 C   s   t  d|¡ d S )NzDOpenBSD password lock is not reversible, ignoring unlock for user %s)r%   Údebugr&   r	   r	   r
   Úunlock_passwdA   s    ýzDistro.unlock_passwdc                 C   s   i S )z:Return env vars used in OpenBSD package_command operationsr	   )r   r	   r	   r
   Ú_get_pkg_cmd_environH   s    zDistro._get_pkg_cmd_environ)N)Ú__name__Ú
__module__Ú__qualname__r   r   Z#shadow_empty_locked_passwd_patternsr   r   r   ÚclassmethodÚstrr"   r(   r*   r+   r	   r	   r	   r
   r      s   
r   )ZloggingZcloudinit.distros.netbsdZ	cloudinitr   r   Z	getLoggerr,   r%   ZdistrosZnetbsdZNetBSDr   r	   r	   r	   r
   Ú<module>   s   
     �ÄÇÆ      File not found.
  8   ˆl–Ðz¾”Jj"TÒ�zàœ¸”Å£ÉƒO·a•Ü4ý()¨‰P@Š7�˜´oÈ ×    #!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/email_hold_maintenance          Copyright 2022 cPanel, L.L.C.
#                                                           All rights reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

package scripts::email_hold_maintenance;

use strict;
use warnings;

use Cpanel::PIDFile ();

use Cpanel::Email::Accounts::HoldMaintenance ();
use Cpanel::Email::Accounts::Paths           ();
use Cpanel::FileUtils::Dir                   ();

=encoding utf-8

=head1 NAME

scripts::email_hold_maintenance

=head1 SYNOPSIS

    email_hold_maintenance --help

This script will remove the tracking file for email holds that have been released or
deleted from the mail queue.

=cut

use constant PIDFILE => '/var/run/email_hold_maintenance.pid';

use parent qw( Cpanel::HelpfulScript );

__PACKAGE__->new(@ARGV)->script() unless caller();

sub script {
    my ($self) = @_;

    return Cpanel::PIDFile->do(
        PIDFILE,
        sub {
            $self->run();
        }
    );
}

sub _OPTIONS { }

sub run {

    return if !-e $Cpanel::Email::Accounts::Paths::EMAIL_HOLDS_BASE_PATH;

    foreach my $sender ( @{ Cpanel::FileUtils::Dir::get_directory_nodes($Cpanel::Email::Accounts::Paths::EMAIL_HOLDS_BASE_PATH) 