mirror of
https://github.com/webmin/webmin.git
synced 2026-03-20 16:50:24 +00:00
Move all initialization code into init_config
This commit is contained in:
@@ -3342,6 +3342,10 @@ and housekeeping tasks, such as working out the module name, checking that the
|
||||
current user has access to the module, and populating global variables. Some
|
||||
of the variables set include :
|
||||
|
||||
=item $config_directory - Base Webmin config directory, typically /etc/webmin
|
||||
|
||||
=item $var_directory - Base logs directory, typically /var/webmin
|
||||
|
||||
=item %config - Per-module configuration.
|
||||
|
||||
=item %gconfig - Global configuration.
|
||||
@@ -3371,6 +3375,38 @@ of the variables set include :
|
||||
=cut
|
||||
sub init_config
|
||||
{
|
||||
# Configuration and spool directories
|
||||
if (!defined($ENV{'WEBMIN_CONFIG'})) {
|
||||
die "WEBMIN_CONFIG not set";
|
||||
}
|
||||
$config_directory = $ENV{'WEBMIN_CONFIG'};
|
||||
if (!defined($ENV{'WEBMIN_VAR'})) {
|
||||
open(VARPATH, "$config_directory/var-path");
|
||||
chop($var_directory = <VARPATH>);
|
||||
close(VARPATH);
|
||||
}
|
||||
else {
|
||||
$var_directory = $ENV{'WEBMIN_VAR'};
|
||||
}
|
||||
|
||||
if ($ENV{'SESSION_ID'}) {
|
||||
# Hide this variable from called programs, but keep it for internal use
|
||||
$main::session_id = $ENV{'SESSION_ID'};
|
||||
delete($ENV{'SESSION_ID'});
|
||||
}
|
||||
if ($ENV{'REMOTE_PASS'}) {
|
||||
# Hide the password too
|
||||
$main::remote_pass = $ENV{'REMOTE_PASS'};
|
||||
delete($ENV{'REMOTE_PASS'});
|
||||
}
|
||||
|
||||
if ($> == 0 && $< != 0 && !$ENV{'FOREIGN_MODULE_NAME'}) {
|
||||
# Looks like we are running setuid, but the real UID hasn't been set.
|
||||
# Do so now, so that executed programs don't get confused
|
||||
$( = $);
|
||||
$< = $>;
|
||||
}
|
||||
|
||||
# Read the webmin global config file. This contains the OS type and version,
|
||||
# OS specific configuration and global options such as proxy servers
|
||||
$config_file = "$config_directory/config";
|
||||
|
||||
36
web-lib.pl
36
web-lib.pl
@@ -13,42 +13,6 @@ the Webmin API functions are defined.
|
||||
|
||||
=cut
|
||||
|
||||
# Configuration and spool directories
|
||||
if (!defined($ENV{'WEBMIN_CONFIG'})) {
|
||||
die "WEBMIN_CONFIG not set";
|
||||
}
|
||||
$config_directory = $ENV{'WEBMIN_CONFIG'};
|
||||
if (!defined($ENV{'WEBMIN_VAR'})) {
|
||||
open(VARPATH, "$config_directory/var-path");
|
||||
chop($var_directory = <VARPATH>);
|
||||
close(VARPATH);
|
||||
}
|
||||
else {
|
||||
$var_directory = $ENV{'WEBMIN_VAR'};
|
||||
}
|
||||
|
||||
if ($ENV{'SESSION_ID'}) {
|
||||
# Hide this variable from called programs, but keep it for internal use
|
||||
$main::session_id = $ENV{'SESSION_ID'};
|
||||
delete($ENV{'SESSION_ID'});
|
||||
}
|
||||
if ($ENV{'REMOTE_PASS'}) {
|
||||
# Hide the password too
|
||||
$main::remote_pass = $ENV{'REMOTE_PASS'};
|
||||
delete($ENV{'REMOTE_PASS'});
|
||||
}
|
||||
|
||||
if ($> == 0 && $< != 0 && !$ENV{'FOREIGN_MODULE_NAME'}) {
|
||||
# Looks like we are running setuid, but the real UID hasn't been set.
|
||||
# Do so now, so that executed programs don't get confused
|
||||
$( = $);
|
||||
$< = $>;
|
||||
}
|
||||
|
||||
# On Windows, always do IO in binary mode
|
||||
#binmode(STDIN);
|
||||
#binmode(STDOUT);
|
||||
|
||||
$remote_error_handler = "error";
|
||||
@INC = &unique(@INC, ".");
|
||||
%month_to_number_map = ( 'jan' => 0, 'feb' => 1, 'mar' => 2, 'apr' => 3,
|
||||
|
||||
Reference in New Issue
Block a user