MAJOR=4
MINOR=7
DEVNAME=tty7
  "   ˆl–Ým_J*j"Tâ€nãB¸'ÔÅ£Áƒh¹À¿      MAJOR=4
MINOR=51
DEVNAME=tty51
  "   ˆl–Ým_J*j"Tâ€nã@¸”Å£Âƒh¹ÁÀ      MAJOR=4
MINOR=11
DEVNAME=tty11
  "   ˆl–Ým_J*j"Tâ€nã/ÜªbÑ¿Ãƒh¹ÂÁ      MAJOR=4
MINOR=4
DEVNAME=tty4
  7   	ˆƒOµ_•I|¥‰ÓMdœv ©ƒ&íK<óo¬a–Ým_J*j"Tâ€rà¸ÐTÅ£Ã Ö    	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <title>Index of /anon_sym/anon/sys/devices/virtual/tty/tty13/subsystem/tty39</title>
 </head>
 <body>
<h1>Index of /anon_sym/anon/sys/devices/virtual/tty/tty13/subsystem/tty39</h1>
  <table>
   <tr><th valign="top">&nbsp;</th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
   <tr><th colspan="5"><hr></th></tr>
<tr><td valign="top">&nbsp;</td><td><a href="/anon_sym/anon/sys/devices/virtual/tty/tty13/subsystem/">Parent Directory</a>       </td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="dev">dev</a>                    </td><td align="right">2026-10-11 01:44  </td><td align="right">4.0K</td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="power/">power/</a>                 </td><td align="right">2026-10-11 01:37  </td><td align="right">  - </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="subsystem/">subsystem/</a>             </td><td align="right">2026-10-10 23:05  </td><td align="right">  - </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="uevent">uevent</a>                 </td><td align="right">2026-10-11 01:44  </td><td align="right">4.0K</td><td>&nbsp;</td></tr>
   <tr><th colspan="5"><hr></th></tr>
</table>
</body></html>
  "   ˆl–Ðz¾”Jj"TÒ�zàœ¸”Å£Æƒe÷¿Ä ~    #!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/build_mail_sni                  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::build_mail_sni;

use strict;

use Cpanel::Usage                     ();
use Cpanel::Config::LoadCpConf        ();
use Cpanel::MailUtils::SNI            ();
use Cpanel::AdvConfig::dovecot::utils ();
use Try::Tiny;

exit run(@ARGV) unless caller();

sub run {
    my @cmdline_args = @_;
    my $opts;

    my $usage_args = {
        'fix_ssl_perms'            => \$opts->{'fix_ssl_perms'},
        'rebuild_dovecot_sni_conf' => \$opts->{'rebuild_dovecot_sni_conf'},
        'restartsrvs'              => \$opts->{'restartsrvs'},
        'verbose'                  => \$opts->{'verbose'},
    };

    Cpanel::Usage::wrap_options( \@cmdline_args, \&usage, $usage_args );
    my $verbose        = delete $opts->{'verbose'};
    my $dispatch_table = {
        'fix_ssl_perms'            => \&fix_ssl_perms,
        'rebuild_dovecot_sni_conf' => \&rebuild_dovecot_sni_conf,
        'restartsrvs'              => \&restartsrvs,
    };

    foreach (qw( fix_ssl_perms rebuild_dovecot_sni_conf restartsrvs )) {
        $dispatch_table->{$_}->($verbose) if $opts->{$_};
    }
    return;
}

sub rebuild_dovecot_sni_conf {
    my $cpconf = Cpanel::Config::LoadCpConf::loadcpconf();
    if ( $cpconf->{'mailserver'} ne 'dovecot' ) {
        print "[!] Dovecot is not the configured mailserver. Rebuild of Dovecot SNI configuration skipped...\n";
        return 1;
    }

    print "[*] Rebuilding Dovecot SNI configuration file...\n";
    if ( !eval { Cpanel::MailUtils::SNI->rebuild_dovecot_sni_conf($Cpanel::MailUtils::SNI::CHECK_SYNTAX) } ) {
        die "[!] Failed to build Dovecot SNI configuration: " . $@ . "\n";
    }
    print "[+] Successfully built Dovecot SNI configuration: " . Cpanel::AdvConfig::dovecot::utils::find_dovecot_sni_conf() . "\n";
    return 1;
}

sub fix_ssl_perms {
    my $verbose = shift;
    $verbose