!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/usr/share/webmin/virtual-server/   drwxrwxr-x
Free 28.64 GB of 117.98 GB (24.28%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     save_alias.cgi (3.03 KB)      -rwxrwxr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
# save_alias.cgi
# Create, update or delete an alias

require './virtual-server-lib.pl';
&ReadParse();
&error_setup($text{'alias_err'});
$d = &get_domain($in{'dom'});
&can_edit_domain($d) && &can_edit_aliases() || &error($text{'aliases_ecannot'});

&obtain_lock_mail($d);
@aliases = &list_domain_aliases($d);
if (!$in{'new'}) {
    ($virt) = grep { $_->{'from'} eq $in{'old'} } @aliases;
    $virt || &error($text{'alias_egone'});
    %oldvirt = %$virt;
    }

if ($in{'delete'}) {
    # Just delete the virtuser (and the autoreply file)
    if (defined(&get_simple_alias)) {
        $simple = &get_simple_alias($d, $virt);
        &delete_simple_autoreply($d, $simple) if ($simple);
        }
    &delete_virtuser($virt);
    &sync_alias_virtuals($d);
    &release_lock_mail($d);
    &run_post_actions_silently();
    &webmin_log("delete", "alias", $virt->{'from'}, $virt);
    }
else {
    # Verify and store core inputs
    $sfx = $in{'simplemode'};
    if ($in{'new'}) {
        ($mleft, $mreason, $mmax) = &count_feature("aliases");
        $mleft == 0 && &error($text{'alias_ealiaslimit'});
        }
    if (!$in{$sfx.'name_def'}) {
        my $nerr = &valid_alias_name($in{$sfx.'name'});
        if ($nerr || $in{$sfx.'name'} =~ /\@/) {
            &error($text{'alias_ename'});
            }
        }
    $name = $in{$sfx.'name_def'} ? "" : $in{$sfx.'name'};
    $virt->{'from'} = $name."\@".$d->{'dom'};
    if ($can_alias_comments) {
        $virt->{'cmt'} = $in{$sfx.'cmt'};
        }

    if ($in{'simplemode'} eq 'complex') {
        # Verify and store complex inputs
        @values = &parse_alias($in{$sfx.'name_def'}, $in{$sfx.'name'},
                   %oldvirt ? $oldvirt{'to'} : undef, "alias", $d);
        $virt->{'to'} = \@values;
        }
    else {
        # Verify and store simple inputs
        $simple = &get_simple_alias($d, $virt);
        if ($simple) {
            # Remove existing autoreply file
            &delete_simple_autoreply($d, $simple);
            }
        $simple ||= { };
        &parse_simple_form($simple, \%in, $d, 0, 0, 0,
                   $virt->{'from'});
        &save_simple_alias($d, $virt, $simple);
        if ($simple->{'bounce'} && @{$virt->{'to'}} > 1) {
            # Cannot bounce and forward
            &error(&text('alias_ebounce'));
            }
        }
    @{$virt->{'to'}} || &error($text{'alias_enone'});

    # Make sure alias doesn't forward to itself
    foreach my $t (@{$virt->{'to'}}) {
        if ($t eq $virt->{'from'}) {
            &error($text{'alias_eloop'});
            }
        }

    if ($in{'new'}) {
        # Check for a clash
        if (&check_clash($name, $d->{'dom'})) {
            &error($text{'alias_eclash'});
            }

        # Create the virtuser
        &create_virtuser($virt);
        }
    else {
        if ($virt->{'from'} ne $in{'old'}) {
            # Has been renamed .. check for a clash
            if (&check_clash($name, $d->{'dom'})) {
                &error($text{'alias_eclash'});
                }
            }

        # Modify virtuser
        &modify_virtuser(\%oldvirt, $virt);
        }
    &sync_alias_virtuals($d);
    if ($in{'simplemode'} eq 'simple') {
        # Write out the autoreply file, if any
        &write_simple_autoreply($d, $simple);
        }
    &release_lock_mail($d);
    &run_post_actions_silently();
    if ($in{'new'}) {
        &webmin_log("create", "alias", $virt->{'from'}, $virt);
        }
    else {
        &webmin_log("modify", "alias", $virt->{'from'}, $virt);
        }
    }
&redirect("list_aliases.cgi?dom=$in{'dom'}&show=$in{'show'}");



:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0037 ]--