Fix AdminBin: use get_caller_username() instead of REMOTE_USER
AdminBin modules run as root, so $ENV{'REMOTE_USER'} is not set.
The correct way to get the authenticated cPanel user is via the
parent class method get_caller_username().
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -138,7 +138,7 @@ sub LIST_ALLOWED_REMOTES {
|
|||||||
|
|
||||||
sub LIST_SNAPSHOTS {
|
sub LIST_SNAPSHOTS {
|
||||||
my ($self, $remote) = @_;
|
my ($self, $remote) = @_;
|
||||||
my $user = $ENV{'REMOTE_USER'} // '';
|
my $user = $self->get_caller_username() // '';
|
||||||
|
|
||||||
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
||||||
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
||||||
@@ -150,7 +150,7 @@ sub LIST_SNAPSHOTS {
|
|||||||
|
|
||||||
sub LIST_DATABASES {
|
sub LIST_DATABASES {
|
||||||
my ($self, $remote, $timestamp) = @_;
|
my ($self, $remote, $timestamp) = @_;
|
||||||
my $user = $ENV{'REMOTE_USER'} // '';
|
my $user = $self->get_caller_username() // '';
|
||||||
|
|
||||||
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
||||||
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
||||||
@@ -164,7 +164,7 @@ sub LIST_DATABASES {
|
|||||||
|
|
||||||
sub LIST_MAILBOXES {
|
sub LIST_MAILBOXES {
|
||||||
my ($self, $remote, $timestamp) = @_;
|
my ($self, $remote, $timestamp) = @_;
|
||||||
my $user = $ENV{'REMOTE_USER'} // '';
|
my $user = $self->get_caller_username() // '';
|
||||||
|
|
||||||
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
||||||
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
||||||
@@ -178,7 +178,7 @@ sub LIST_MAILBOXES {
|
|||||||
|
|
||||||
sub LIST_FILES {
|
sub LIST_FILES {
|
||||||
my ($self, $remote, $timestamp, $path) = @_;
|
my ($self, $remote, $timestamp, $path) = @_;
|
||||||
my $user = $ENV{'REMOTE_USER'} // '';
|
my $user = $self->get_caller_username() // '';
|
||||||
|
|
||||||
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
||||||
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
||||||
@@ -197,7 +197,7 @@ sub LIST_FILES {
|
|||||||
|
|
||||||
sub LIST_DBUSERS {
|
sub LIST_DBUSERS {
|
||||||
my ($self, $remote, $timestamp) = @_;
|
my ($self, $remote, $timestamp) = @_;
|
||||||
my $user = $ENV{'REMOTE_USER'} // '';
|
my $user = $self->get_caller_username() // '';
|
||||||
|
|
||||||
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
||||||
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
||||||
@@ -211,7 +211,7 @@ sub LIST_DBUSERS {
|
|||||||
|
|
||||||
sub LIST_CRON {
|
sub LIST_CRON {
|
||||||
my ($self, $remote, $timestamp) = @_;
|
my ($self, $remote, $timestamp) = @_;
|
||||||
my $user = $ENV{'REMOTE_USER'} // '';
|
my $user = $self->get_caller_username() // '';
|
||||||
|
|
||||||
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
||||||
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
||||||
@@ -225,7 +225,7 @@ sub LIST_CRON {
|
|||||||
|
|
||||||
sub LIST_DNS {
|
sub LIST_DNS {
|
||||||
my ($self, $remote, $timestamp) = @_;
|
my ($self, $remote, $timestamp) = @_;
|
||||||
my $user = $ENV{'REMOTE_USER'} // '';
|
my $user = $self->get_caller_username() // '';
|
||||||
|
|
||||||
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
||||||
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
||||||
@@ -239,7 +239,7 @@ sub LIST_DNS {
|
|||||||
|
|
||||||
sub LIST_SSL {
|
sub LIST_SSL {
|
||||||
my ($self, $remote, $timestamp) = @_;
|
my ($self, $remote, $timestamp) = @_;
|
||||||
my $user = $ENV{'REMOTE_USER'} // '';
|
my $user = $self->get_caller_username() // '';
|
||||||
|
|
||||||
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
||||||
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
||||||
@@ -253,7 +253,7 @@ sub LIST_SSL {
|
|||||||
|
|
||||||
sub RESTORE_ACCOUNT {
|
sub RESTORE_ACCOUNT {
|
||||||
my ($self, $remote, $timestamp, $exclude) = @_;
|
my ($self, $remote, $timestamp, $exclude) = @_;
|
||||||
my $user = $ENV{'REMOTE_USER'} // '';
|
my $user = $self->get_caller_username() // '';
|
||||||
|
|
||||||
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
||||||
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
||||||
@@ -273,7 +273,7 @@ sub RESTORE_ACCOUNT {
|
|||||||
|
|
||||||
sub RESTORE_FILES {
|
sub RESTORE_FILES {
|
||||||
my ($self, $remote, $timestamp, $path, $exclude) = @_;
|
my ($self, $remote, $timestamp, $path, $exclude) = @_;
|
||||||
my $user = $ENV{'REMOTE_USER'} // '';
|
my $user = $self->get_caller_username() // '';
|
||||||
|
|
||||||
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
||||||
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
||||||
@@ -296,7 +296,7 @@ sub RESTORE_FILES {
|
|||||||
|
|
||||||
sub RESTORE_DATABASE {
|
sub RESTORE_DATABASE {
|
||||||
my ($self, $remote, $timestamp, $dbname) = @_;
|
my ($self, $remote, $timestamp, $dbname) = @_;
|
||||||
my $user = $ENV{'REMOTE_USER'} // '';
|
my $user = $self->get_caller_username() // '';
|
||||||
|
|
||||||
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
||||||
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
||||||
@@ -316,7 +316,7 @@ sub RESTORE_DATABASE {
|
|||||||
|
|
||||||
sub RESTORE_MAILBOX {
|
sub RESTORE_MAILBOX {
|
||||||
my ($self, $remote, $timestamp, $email) = @_;
|
my ($self, $remote, $timestamp, $email) = @_;
|
||||||
my $user = $ENV{'REMOTE_USER'} // '';
|
my $user = $self->get_caller_username() // '';
|
||||||
|
|
||||||
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
||||||
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
||||||
@@ -336,7 +336,7 @@ sub RESTORE_MAILBOX {
|
|||||||
|
|
||||||
sub RESTORE_CRON {
|
sub RESTORE_CRON {
|
||||||
my ($self, $remote, $timestamp) = @_;
|
my ($self, $remote, $timestamp) = @_;
|
||||||
my $user = $ENV{'REMOTE_USER'} // '';
|
my $user = $self->get_caller_username() // '';
|
||||||
|
|
||||||
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
||||||
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
||||||
@@ -350,7 +350,7 @@ sub RESTORE_CRON {
|
|||||||
|
|
||||||
sub RESTORE_DBUSERS {
|
sub RESTORE_DBUSERS {
|
||||||
my ($self, $remote, $timestamp, $dbuser) = @_;
|
my ($self, $remote, $timestamp, $dbuser) = @_;
|
||||||
my $user = $ENV{'REMOTE_USER'} // '';
|
my $user = $self->get_caller_username() // '';
|
||||||
|
|
||||||
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
||||||
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
||||||
@@ -370,7 +370,7 @@ sub RESTORE_DBUSERS {
|
|||||||
|
|
||||||
sub RESTORE_DOMAINS {
|
sub RESTORE_DOMAINS {
|
||||||
my ($self, $remote, $timestamp, $domain) = @_;
|
my ($self, $remote, $timestamp, $domain) = @_;
|
||||||
my $user = $ENV{'REMOTE_USER'} // '';
|
my $user = $self->get_caller_username() // '';
|
||||||
|
|
||||||
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
||||||
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
||||||
@@ -390,7 +390,7 @@ sub RESTORE_DOMAINS {
|
|||||||
|
|
||||||
sub RESTORE_SSL {
|
sub RESTORE_SSL {
|
||||||
my ($self, $remote, $timestamp, $domain) = @_;
|
my ($self, $remote, $timestamp, $domain) = @_;
|
||||||
my $user = $ENV{'REMOTE_USER'} // '';
|
my $user = $self->get_caller_username() // '';
|
||||||
|
|
||||||
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
return "ERROR: Invalid user" unless $user =~ $ACCOUNT_RE;
|
||||||
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
return "ERROR: Invalid remote" unless defined $remote && $remote =~ $REMOTE_RE;
|
||||||
|
|||||||
Reference in New Issue
Block a user